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

Revision history [back]

Since the update split of the GUI capabilities of the joint_state_publisher into its own package, it is now recommended to run that node separately. In future releases the use_gui parameter will no longer be used. If you had an output="screen" attribute in your joint_state_publisher <node> tag. You'd see a warning like the following:

The 'use_gui' parameter was specified, which is deprecated.  We'll attempt to find and run the GUI, but if this fails you should install the 'joint_state_publisher_gui' package instead and run that.  This backwards compatibility option will be removed in Noetic.

Now as to why this same launch file worked on another system... a bit of a mystery, but my best guess is that the other system didn't have the same package versions. Nominally, in Kinetic (which you seem to be using), the GUI should still pop up. That said, I'm curious what would happen if you took the advice of the above warning and did things the currently-recommended way -- does your issue disappear? My launch files now usually have a snippet similar to the following:

<arg name="use_gui" default="true" doc="Should the joint_state_publisher use a GUI for controlling joint states" />
<node pkg="joint_state_publisher" type="joint_state_publisher" name="joint_state_publisher" output="screen" unless="$(arg use_gui)" />
<node pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" name="joint_state_publisher_gui" output="screen" if="$(arg use_gui)" />

Since the update split of the GUI capabilities of the joint_state_publisher into its own package, it is now recommended to run that node separately. In future releases the use_gui parameter will no longer be used. If you had an output="screen" attribute in your joint_state_publisher <node> tag. You'd see a warning like the following:

The 'use_gui' parameter was specified, specified, which is deprecated. We'll attempt to to find and run the GUI, but if this this fails you should install the the 'joint_state_publisher_gui' package package instead and run that. This backwards backwards compatibility option will be removed removed in Noetic.

Noetic.

Now as to why this same launch file worked on another system... a bit of a mystery, but my best guess is that the other system didn't have the same package versions. Nominally, in Kinetic (which you seem to be using), the GUI should still pop up. That said, I'm curious what would happen if you took the advice of the above warning and did things the currently-recommended way -- does your issue disappear? My launch files now usually have a snippet similar to the following:

<arg name="use_gui" default="true" doc="Should the joint_state_publisher use a GUI for controlling joint states" />
<node pkg="joint_state_publisher" type="joint_state_publisher" name="joint_state_publisher" output="screen" unless="$(arg use_gui)" />
<node pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" name="joint_state_publisher_gui" output="screen" if="$(arg use_gui)" />