Ask Your Question
1

[ROS2] Robot State Publisher publishes empty robot_description

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

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

Comments

1

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

gvdhoorn gravatar imagegvdhoorn ( 2018-10-02 04:11:51 -0500 )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 imageMyzhar ( 2018-10-02 09:27:22 -0500 )edit

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

clyde gravatar imageclyde ( 2018-10-14 17:26:15 -0500 )edit

Not yet... I just opened an issue here: https://github.com/ros2/robot_state_p...

Myzhar gravatar imageMyzhar ( 2018-10-15 02:29:47 -0500 )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 imageKarsten ( 2018-10-15 11:17:40 -0500 )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 imageMyzhar ( 2018-10-15 11:31:19 -0500 )edit
1

That's the initial discussion about having the robot description as a topic: https://github.com/ros2/robot_state_p...

Karsten gravatar imageKarsten ( 2018-10-15 17:00:18 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

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

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 ( https://github.com/ros2/ros2/wiki/Abo... ), 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

Comments

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 imageMyzhar ( 2018-10-15 14:28:23 -0500 )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

Stats

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

Seen: 368 times

Last updated: Oct 15 '18