c++ 我无法打开此“rosbag play airground_rig_s3_2013-03-18_21-38-48.bag”,在运行该命令之前,我已经下载了该文件

myzjeezk  于 2023-03-20  发布在  其他
关注(0)|答案(1)|浏览(135)

我尝试到使用这源代码“https://github.com/uzh-rpg/rpg_svo_pro_open/blob/master/doc/frontend/visual_frontend.md“.我跟随所有这指令直到我运行这命令

roslaunch svo_ros run_from_bag.launch cam_name:=svo_test_pinhole

尽管RVIZ在终端上运行时会出现如下错误消息

ERROR: cannot launch node of type [svo_ros/svo_node]: Cannot locate node of type [svo_node] in package [svo_ros]. Make sure file exists in package path and permission is set to executable (chmod +x)
process[vis-3]: started with pid [12352]
process[svo_gui-4]: started with pid [12353]
RosPluginProvider.load(rqt_svo/Svo) exception raised in __builtin__.__import__(rqt_svo.svo, [Svo]):
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/lz/svo_ws/src/rpg_svo_pro_open/rqt_svo/src/rqt_svo/svo.py", line 6, in <module>
    from .svo_widget import SvoWidget
  File "/home/lz/svo_ws/src/rpg_svo_pro_open/rqt_svo/src/rqt_svo/svo_widget.py", line 9, in <module>
    from svo_msgs.msg import Info
ModuleNotFoundError: No module named 'svo_msgs'

PluginManager._load_plugin() could not load plugin "rqt_svo/Svo":
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/lz/svo_ws/src/rpg_svo_pro_open/rqt_svo/src/rqt_svo/svo.py", line 6, in <module>
    from .svo_widget import SvoWidget
  File "/home/lz/svo_ws/src/rpg_svo_pro_open/rqt_svo/src/rqt_svo/svo_widget.py", line 9, in <module>
    from svo_msgs.msg import Info
ModuleNotFoundError: No module named 'svo_msgs'

[svo_gui-4] process has died [pid 12353, exit code 1, cmd /opt/ros/noetic/lib/rqt_gui/rqt_gui -s rqt_svo.svo.Svo --args --topic svo __name:=svo_gui __log:=/home/lz/.ros/log/aa736034-c24b-11ed-b656-95c80644f063/svo_gui-4.log].
log file: /home/lz/.ros/log/aa736034-c24b-11ed-b656-95c80644f063/svo_gui-4*.log

在RVIZ没有显示任何图像时,我运行的代码,然后我运行这段代码

rosbag play airground_rig_s3_2013-03-18_21-38-48.bag

如果我在youtube上看到运行此代码后,图像将出现。但我得到了一些这样的错误

[ INFO] [1678786760.716341956]: Opening airground_rig_s3_2013-03-18_21-38-48.bag
[FATAL] [1678786760.743528832]: Error opening file: airground_rig_s3_2013-03-18_21-38-48.bag

顺便说一句,我使用的是ronoetic当尝试这个代码
我希望有人能告诉我如何使用这个代码,因为我真的需要这个为我的学术项目
非常感谢任何想帮助我的人:)
我希望能够像演示的那样运行此代码

mfuanj7w

mfuanj7w1#

这是主要错误:

ERROR: cannot launch node of type [svo_ros/svo_node]: Cannot locate node of type [svo_node] in package [svo_ros]. Make sure file exists in package path and permission is set to executable (chmod +x)

ModuleNotFoundError: No module named 'svo_msgs'
PluginManager._load_plugin() could not load plugin "rqt_svo/Svo":

我猜构建过程有问题
可能是以下问题之一:

  • 未构建工作空间
  • devel/setup.bash没有来源

修复:

  • 通过运行catkin clean或/和删除logsdevelbuild文件夹(基本上只需要src)进行干净构建
  • 使用catkin_makecatkin build(无论您在工作区中使用哪一种)构建它
  • 通过运行source devel/setup.bash获得源代码

但如果真的是执行权限的问题

Make sure file exists in package path and permission is set to executable (chmod +x)

因为它是cpp文件,所以你需要搜索它的编译二进制文件,而不是.cpp文件。它应该位于devel/lib/package_name/node_binary_name中,所以类似于:

sudo chmod +x devel/lib/svo_ros/svo_node  # Double check the path

相关问题