ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

URDF joint type "continuous" causes rviz2 issues?

asked 2021-07-10 13:43:30 -0600

errolt gravatar image

updated 2021-07-17 13:09:51 -0600

Andromeda gravatar image

Hi all,

I'm new to ROS2 and working through the tutorials. Please excuse me if this is a dumb question.

Background: I'm running ROS2 Foxy, my robot is running on a Pi4 running Ubuntu 20.04 and Rviz2 is running on a desktop running Ubuntu 20.04. On both device I installed Foxy from the ros repo and both are up to date.

I'm following this tutorial:

I'm using the example URDF at: And the rviz2 file provided in the tutorial.

Issue: The issue I'm having is that the wheels are in the center of the body, at 0,0,0 and on the rviz2 console I get these messages:

at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.10/src/buffer_core.cpp

Warning: Invalid frame ID "drivewhl_r_link" passed to canTransform argument source_frame - frame does not exist

at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.10/src/buffer_core.cpp

Warning: Invalid frame ID "drivewhl_l_link" passed to canTransform argument source_frame - frame does not exist

This seems to be related to this line:

<joint name="${prefix}_joint" type="continuous">

If I change the link type to "fixed" then the wheels locate correctly and there are no errors on the console.

Is this a known issue with rviz2? Or did I do something wrong?

Thank you, Errol

edit retag flag offensive close merge delete


I'm running into this exact same issue; did you find a resolution?

billymccafferty gravatar image billymccafferty  ( 2021-12-30 18:48:24 -0600 )edit

Unfortunately not. Spending a week on this issue, which isn't supposed to be an issue because it is straight out of a tutorial, broke my will to learn ros. What else isn't going to work as the documentation purports it to work? Have not touched it since...

errolt gravatar image errolt  ( 2022-01-09 08:29:38 -0600 )edit

@errolt are you using <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" output="screen" /> in your launch file ?

bhomaidan gravatar image bhomaidan  ( 2022-04-01 15:13:11 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2022-06-19 19:42:42 -0600

MichaelWu666 gravatar image

make sure to also add

joint_state_publisher_gui_node = launch_ros.actions.Node( package="joint_state_publisher_gui", executable="joint_state_publisher_gui", name="joint_state_publisher_gui", condition=launch.conditions.IfCondition(LaunchConfiguration("gui")), )

into your launch file.

I am guessing this is because the continuous joint require some other node to publish its current positions

edit flag offensive delete link more

Question Tools



Asked: 2021-07-10 13:43:30 -0600

Seen: 995 times

Last updated: Jul 17 '21