Ask Your Question

[kinetic] joint_state_publisher doesn't run

asked 2017-08-15 16:52:23 -0600

Horse-man gravatar image


I have a problem while lunching joint_state_publisher with any urdf file in ROS Kinetic and ubuntu 16.04

it crashes due to a missing library, I made sure that the library exists and is included in the path, but still the same problem

Here's the console output when I try to lunch the rrbot example:

$ roslaunch rrbot_description rrbot_rviz.launch
... logging to /home/amine/.ros/log/4d3d7f60-81f3-11e7-b988-303a643c719d/roslaunch-Destructor-26505.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://Destructor:37085/


 * /joint_state_publisher/use_gui: True
 * /robot_description: <?xml version="1....
 * /rosdistro: kinetic
 * /rosversion: 1.12.7

    joint_state_publisher (joint_state_publisher/joint_state_publisher)
    robot_state_publisher (robot_state_publisher/state_publisher)
    rviz (rviz/rviz)


core service [/rosout] found
process[joint_state_publisher-1]: started with pid [26526]
process[robot_state_publisher-2]: started with pid [26527]
process[rviz-3]: started with pid [26528]
This application failed to start because it could not find or load the Qt platform plugin "xcb".

Reinstalling the application may fix this problem.
[joint_state_publisher-1] process has died [pid 26526, exit code -6, cmd /home/amine/catkin_ws/src/joint_state_publisher/joint_state_publisher/joint_state_publisher __name:=joint_state_publisher __log:=/home/amine/.ros/log/4d3d7f60-81f3-11e7-b988-303a643c719d/joint_state_publisher-1.log].
log file: /home/amine/.ros/log/4d3d7f60-81f3-11e7-b988-303a643c719d/joint_state_publisher-1*.log

Here is the output of roswtf:

$ roswtf
Loaded plugin tf.tfwtf
No package or stack in context
Static checks summary:

No errors or warnings
Beginning tests of your ROS graph. These may take awhile...
analyzing graph...
... done analyzing graph
running graph rules...
ERROR: connection refused to [http://Destructor:46872/]
... done running graph rules
running tf checks, this will take a second...
... tf checks complete

Online checks summary:

Found 3 warning(s).
Warnings are things that may be just fine, but are sometimes at fault

WARNING The following node subscriptions are unconnected:
 * /joint_state_publisher:
   * /clock
 * /robot_state_publisher:
   * /joint_states
   * /clock
 * /rviz:
   * /rrbot/laser/scan
   * /clock

WARNING These nodes have died:
 * joint_state_publisher-1

WARNING No tf messages

Found 4 error(s).

ERROR /use_simtime is set but no publisher of /clock is present
ERROR Could not contact the following nodes:
 * /joint_state_publisher

ERROR The following nodes should be connected but aren't:
 * /joint_state_publisher->/rosout (/rosout)

ERROR Errors connecting to the following services:
 * service [/joint_state_publisher/set_logger_level] appears to be malfunctioning: Unable to communicate with service [/joint_state_publisher/set_logger_level], address [rosrpc://Destructor:36562]
 * service [/joint_state_publisher/get_loggers] appears to be malfunctioning: Unable to communicate with service [/joint_state_publisher/get_loggers], address [rosrpc://Destructor:36562]

It seems clear that it's crashing due to missing xcb plugin,

I made sure and are available in the path, I also made sur the variables QT_PLUGINS_PATH and QT_QPA_PLATFORM_PLUGIN_PATH are pointing to the correct path, and still the same problem.

I'm using:

ubuntu 16.04 
conda 4.3.23 (64-bits)
python 2.7
qt 5.6.2 (installed using anaconda)

I also installed Qt 5.7 but it's still not working

Any ideas to help?

edit retag flag offensive close merge delete


Does it work if you use the platform Python?

gvdhoorn gravatar image gvdhoorn  ( 2017-08-16 05:49:43 -0600 )edit

I got the same problem with the built-in Python of ubuntu, because 'pyqt' was installed in the pkg folder of anaconda. So I removed all the conda packages and cleared the cache. Then, I reinstalled 'pyqt' and 'qt' again, and it works fine now. I guess the old packages was corrupted. Thanks @gvdhoorn

Horse-man gravatar image Horse-man  ( 2017-08-16 06:10:41 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2017-08-16 07:36:35 -0600

Horse-man gravatar image

The problem was caused by a problem in the source package of Qt in anaconda.

I solved the problem by removing the conda packages and clearing the cache:

conda remove pyqt
conda remove qt5
conda clean --all

Then I reinstalled PyQt and Qt from a different source, and it works fine:

conda install -c anaconda pyqt 
conda install pyqt
conda install -c anaconda qt

Make sure to set these two variables in .bashrc:

export QT_PLUGINS_PATH=/path/to/qt_plugins_folder
export QT_QPA_PLATFORM_PLUGIN_PATH=/path/to/qt_plugins_folder/platforms

And that the library is located in one of the specified paths.

edit flag offensive delete link more

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: 2017-08-15 16:52:23 -0600

Seen: 859 times

Last updated: Aug 16 '17