ROS Noetic环境下运行rpg_svo_pro_open遇报错求助
解决RPG SVO Pro Open在ROS Noetic下的运行问题
一、启动run_from_bag.launch时的节点与依赖错误
关键报错分析
ERROR: cannot launch node of type [svo_ros/svo_node]: Cannot locate node of type [svo_node] in package [svo_ros]:svo_node节点未生成或无执行权限ModuleNotFoundError: No module named 'svo_msgs':svo_msgs消息包未正确编译或Python路径未配置
解决步骤
修复svo_node节点问题
- 重新编译工作空间,确保无编译错误:
cd ~/svo_ws catkin_make clean catkin_make -DCMAKE_BUILD_TYPE=Release source devel/setup.bash - 检查可执行文件:进入
~/svo_ws/devel/lib/svo_ros目录,确认svo_node存在且有执行权限,若权限不足执行:chmod +x ~/svo_ws/devel/lib/svo_ros/svo_node - 验证CMake配置:打开
svo_ros/CMakeLists.txt,确认包含C++节点编译规则(示例):add_executable(svo_node src/svo_node.cpp) target_link_libraries(svo_node ${catkin_LIBRARIES}) install(TARGETS svo_node DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})
- 重新编译工作空间,确保无编译错误:
修复svo_msgs缺失问题
- 确认
svo_msgs包存在于工作空间src目录,若缺失需补充克隆完整项目仓库。 - 优先编译
svo_msgs包,再编译整个工作空间:cd ~/svo_ws catkin_make --pkg svo_msgs catkin_make source devel/setup.bash - 检查Python路径配置:执行以下命令确认工作空间的Python模块路径已加载:
若无输出,重新执行echo $PYTHONPATH | grep -E "svo_ws/devel/lib/python3/dist-packages"source devel/setup.bash。
- 确认
二、rosbag播放失败问题
关键报错
[FATAL] [1678786760.743528832]: Error opening file: airground_rig_s3_2013-03-18_21-38-48.bag:bag文件路径错误或损坏
解决步骤
- 使用绝对路径播放bag文件,例如:
rosbag play /home/lz/svo_ws/airground_rig_s3_2013-03-18_21-38-48.bag - 校验bag文件完整性:重新下载bag文件,对比官方提供的文件大小或校验值,避免下载中断导致文件损坏。
- 转换bag格式(若为旧版本bag):ROS Noetic对旧版bag兼容性有限,执行以下命令转换格式:
rosbag convert -i airground_rig_s3_2013-03-18_21-38-48.bag -o converted_bag rosbag play converted_bag/airground_rig_s3_2013-03-18_21-38-48.bag
内容的提问来源于stack exchange,提问作者lz7
相关产品推荐
相关产品推荐

