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

[kinetic] joint_state_publisher doesn't run

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

Horse-man gravatar image

Hi,

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/

SUMMARY
========

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

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

ROS_MASTER_URI=http://localhost:11311

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 libxcb.so and libXi.so 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)
libxcb-1.12-1

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

Any ideas to help?

edit retag flag offensive close merge delete

Comments

Does it work if you use the platform Python?

gvdhoorn gravatar image gvdhoorn  ( 2017-08-16 05:49:43 -0500 )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 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

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

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 libxcb.so library is located in one of the specified paths.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2017-08-15 16:52:23 -0500

Seen: 1,133 times

Last updated: Aug 16 '17