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

cannot launch kobuki_dashboard on kinetic

asked 2017-01-23 21:29:16 -0500

ibd gravatar image

updated 2017-01-29 04:20:41 -0500

gvdhoorn gravatar image

Hi, I'm trying to setup a turtlebot on ubuntu 16, ROS kinetic.

Installation went well so far. My laptop and the turtlebot netbook can ping each other. I can roslaunch on the turtlebot fine.

I am following the tutorial at: http://wiki.ros.org/turtlebot_bringup...

When I try the command rqt -s kobuki_dashboard, I get the following error:

RosPluginProvider.load(kobuki_dashboard/KobukiDashboard) exception raised in __builtin__.__import__(kobuki_dashboard.dashboard, [KobukiDashboard]):
Traceback (most recent call last):
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rqt_gui/ros_plugin_provider.py", line 77, in load
    module = __builtin__.__import__(attributes['module_name'], fromlist=[attributes['class_from_class_type']], level=0)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/kobuki_dashboard/dashboard.py", line 8, in <module>
    from QtGui import QMessageBox, QAction
ImportError: cannot import name QMessageBox

PluginManager._load_plugin() could not load plugin "kobuki_dashboard/KobukiDashboard":
Traceback (most recent call last):
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/qt_gui/plugin_handler.py", line 99, in load
    self._load()
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/qt_gui/plugin_handler_direct.py", line 54, in _load
    self._plugin = self._plugin_provider.load(self._instance_id.plugin_id, self._context)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/qt_gui/composite_plugin_provider.py", line 71, in load
    instance = plugin_provider.load(plugin_id, plugin_context)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/qt_gui/composite_plugin_provider.py", line 71, in load
    instance = plugin_provider.load(plugin_id, plugin_context)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rqt_gui_py/ros_py_plugin_provider.py", line 60, in load
    return super(RosPyPluginProvider, self).load(plugin_id, plugin_context)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/qt_gui/composite_plugin_provider.py", line 71, in load
    instance = plugin_provider.load(plugin_id, plugin_context)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rqt_gui/ros_plugin_provider.py", line 83, in load
    raise e
ImportError: cannot import name QMessageBox

Same when I try to launch the dashboard via rosrun kobuki_dashboard kobuki_dashboard.

It seems to be related to QT. Any ideas how to fix?

Cheers Isaac


Edit: If I "fix" the file in question, "dashboard.py", by changing line 8 to:

from PyQt4.QtGui import QMessageBox, QAction

Then python will segfault. Here's a backtrace from gdb:

    #0  0x00007fff9645e5a4 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#1  0x00007ffff7de74ea in call_init (l=<optimized out>, argc=argc@entry=4, 
    argv=argv@entry=0x7fffffffd858, env=env@entry=0xeb2920) at dl-init.c:72
#2  0x00007ffff7de75fb in call_init (env=0xeb2920, argv=0x7fffffffd858, 
    argc=4, l=<optimized out>) at dl-init.c:30
#3  _dl_init (main_map=main_map@entry=0x2deef60, argc=4, argv=0x7fffffffd858, 
    env=0xeb2920) at dl-init.c:120
#4  0x00007ffff7dec712 in dl_open_worker (a=a@entry=0x7fffffffb310)
    at dl-open.c:575
#5  0x00007ffff7de7394 in _dl_catch_error (
    objname=objname@entry=0x7fffffffb300, 
    errstring=errstring@entry=0x7fffffffb308, 
    mallocedp=mallocedp@entry=0x7fffffffb2ff, 
    operate=operate@entry=0x7ffff7dec300 <dl_open_worker>, 
    args=args@entry=0x7fffffffb310) at dl-error.c:187
#6  0x00007ffff7debbd9 in _dl_open (
    file=0x2b49180 "/usr/lib/python2.7/dist-packages/PyQt4/QtGui.so", 
    mode=-2147483646, caller_dlopen=0x5231c3 <_PyImport_GetDynLoadFunc+243>, 
    nsid=-2, argc=<optimized out>, argv=<optimized out>, env=0xeb2920)
    at dl-open.c:660
#7  0x00007ffff75edf09 in dlopen_doit (a=a@entry=0x7fffffffb540) at dlopen.c:66
#8  0x00007ffff7de7394 in _dl_catch_error (objname ...
(more)
edit retag flag offensive close merge delete

Comments

Addendum: Maybe this is related to my other problem over here?

ibd gravatar image ibd  ( 2017-01-24 21:52:32 -0500 )edit

If you installed the kobuki packages using apt-get (ie: used a released version), and it's failing like this, that would be something to report over at turtlebot/turtlebot/issues.

gvdhoorn gravatar image gvdhoorn  ( 2017-01-29 04:22:02 -0500 )edit

I did indeed install everything using apt-get. Posted my questions there.

ibd gravatar image ibd  ( 2017-01-30 17:27:58 -0500 )edit
1

It's always nice to link back to your issue then: turtlebot/turtlebot#250.

gvdhoorn gravatar image gvdhoorn  ( 2017-01-31 01:34:42 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2018-04-01 13:41:50 -0500

Rizz gravatar image

The method at https://github.com/turtlebot/turtlebo... fixed the roomba dashboard for me

Thanks for the comment gvdhoorn

simply change QtGui to QtWidgets on the given line number in the file above the first ImportError: ....

also see http://wiki.ros.org/kinetic/Migration shows Qt requirements

it seems to be a simple syntax change between Qt4 and Qt5 due to using some new library it would likely also fix other issues with a QMessageBox import error

hope this helps ;- )

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2017-01-23 21:29:16 -0500

Seen: 589 times

Last updated: Apr 01 '18