Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix microstrain rqt quickview after microstrain driver V3 #4

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

snwu1996
Copy link

@snwu1996 snwu1996 commented Aug 6, 2024

After microstrain driver V4 it appears that the rqt quickview is broken.

Running the command

roslaunch microstrain_inertial_rqt quickview.launch driver_namespace:=/sensors/gps

Produces the following error.

process[microstrain_inertial_quickview-1]: started with pid [406991]
RosPluginProvider.load(microstrain_inertial_rqt/Quickview) exception raised in __builtin__.__import__(microstrain_inertial_rqt.quickview, [Quickview]):
Traceback (most recent call last):
  File "/opt/ros/noetic/lib/python3/dist-packages/rqt_gui/ros_plugin_provider.py", line 79, in load
    module = __builtin__.__import__(
  File "/home/snwu/Documents/Terraclear/tc_main_catkin_ws/src/drivers/microstrain_inertial/microstrain_inertial_rqt/microstrain_inertial_rqt_common/src/microstrain_inertial_rqt/quickview.py", line 4, in <module>
    from .utils.widgets import MicrostrainWidget
  File "/home/snwu/Documents/Terraclear/tc_main_catkin_ws/src/drivers/microstrain_inertial/microstrain_inertial_rqt/microstrain_inertial_rqt_common/src/microstrain_inertial_rqt/utils/widgets.py", line 9, in <module>
    from .services import DeviceReportMonitor
  File "/home/snwu/Documents/Terraclear/tc_main_catkin_ws/src/drivers/microstrain_inertial/microstrain_inertial_rqt/microstrain_inertial_rqt_common/src/microstrain_inertial_rqt/utils/services.py", line 3, in <module>
    from microstrain_inertial_msgs.srv import DeviceReport
ImportError: cannot import name 'DeviceReport' from 'microstrain_inertial_msgs.srv' (/home/snwu/Documents/Terraclear/tc_main_catkin_ws/devel/lib/python3/dist-packages/microstrain_inertial_msgs/srv/__init__.py)

PluginManager._load_plugin() could not load plugin "microstrain_inertial_rqt/Quickview":
Traceback (most recent call last):
  File "/opt/ros/noetic/lib/python3/dist-packages/qt_gui/plugin_handler.py", line 102, in load
    self._load()
  File "/opt/ros/noetic/lib/python3/dist-packages/qt_gui/plugin_handler_direct.py", line 55, in _load
    self._plugin = self._plugin_provider.load(self._instance_id.plugin_id, self._context)
  File "/opt/ros/noetic/lib/python3/dist-packages/qt_gui/composite_plugin_provider.py", line 72, in load
    instance = plugin_provider.load(plugin_id, plugin_context)
  File "/opt/ros/noetic/lib/python3/dist-packages/qt_gui/composite_plugin_provider.py", line 72, in load
    instance = plugin_provider.load(plugin_id, plugin_context)
  File "/opt/ros/noetic/lib/python3/dist-packages/rqt_gui_py/ros_py_plugin_provider.py", line 61, in load
    return super(RosPyPluginProvider, self).load(plugin_id, plugin_context)
  File "/opt/ros/noetic/lib/python3/dist-packages/qt_gui/composite_plugin_provider.py", line 72, in load
    instance = plugin_provider.load(plugin_id, plugin_context)
  File "/opt/ros/noetic/lib/python3/dist-packages/rqt_gui/ros_plugin_provider.py", line 90, in load
    raise e
  File "/opt/ros/noetic/lib/python3/dist-packages/rqt_gui/ros_plugin_provider.py", line 79, in load
    module = __builtin__.__import__(
  File "/home/snwu/Documents/Terraclear/tc_main_catkin_ws/src/drivers/microstrain_inertial/microstrain_inertial_rqt/microstrain_inertial_rqt_common/src/microstrain_inertial_rqt/quickview.py", line 4, in <module>
    from .utils.widgets import MicrostrainWidget
  File "/home/snwu/Documents/Terraclear/tc_main_catkin_ws/src/drivers/microstrain_inertial/microstrain_inertial_rqt/microstrain_inertial_rqt_common/src/microstrain_inertial_rqt/utils/widgets.py", line 9, in <module>
    from .services import DeviceReportMonitor
  File "/home/snwu/Documents/Terraclear/tc_main_catkin_ws/src/drivers/microstrain_inertial/microstrain_inertial_rqt/microstrain_inertial_rqt_common/src/microstrain_inertial_rqt/utils/services.py", line 3, in <module>
    from microstrain_inertial_msgs.srv import DeviceReport
ImportError: cannot import name 'DeviceReport' from 'microstrain_inertial_msgs.srv' (/home/snwu/Documents/Terraclear/tc_main_catkin_ws/devel/lib/python3/dist-packages/microstrain_inertial_msgs/srv/__init__.py)

robbiefish and others added 2 commits August 2, 2023 15:55
…ently most of the Estimation Filter fields and some of the RTK widget fields are not updating properly. Other than that most of the other widgets seems to be working properly.
@snwu1996
Copy link
Author

snwu1996 commented Aug 7, 2024

This branch is currently usable. 80% of the data updates properly and the quickview launches without crashing.

image

The other 20% I haven't got around to fixing because some of the topic formats changed so fixing it might take a bit more time.

@snwu1996 snwu1996 marked this pull request as ready for review November 19, 2024 06:59
@snwu1996
Copy link
Author

I no longer have access to a gq7 to test with so for now this is probably as good as this PR is going to get. This PR is ready for review given the caveat that ~20% of the widgets don't update properly at the moment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants