You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

连接RealSense D435I运行stella vslam触发段错误的问题求助

连接RealSense D435I运行stella_vslam触发段错误的排查求助

问题描述

连接RealSense D435I相机运行stella_vslam项目时触发段错误。已尝试更新相机驱动及相关配置文件,问题未解决。该相机在包括当前运行项目的设备在内的多个设备上均可正常工作。

GDB调试错误栈信息

--Type for more, q to quit, c to continue without paging--c

Thread 9 "run_slam" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe2ffd700 (LWP 18451)]
0x00007ffff715ba08 in cv::_InputArray::size(int) const () from    /usr/local/lib/libopencv_core.so.405
(gdb) bt
#0 0x00007ffff715ba08 in cv::_InputArray::size(int) const () at  /usr/local/lib/libopencv_core.so.405
#1 0x00007ffff2a35140 in cv::imshow(cv::String const&, cv::_InputArray const&) ()
at /usr/local/lib/libopencv_highgui.so.3.4
#2 0x00007ffff67c1d96 in pangolin_viewer::viewer::run() (this=0x7fffffffd290)
at /usr/local/include/opencv2/core/cvstd.inl.hpp:81
#3 0x000055555559cf76 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<tracking(std::shared_ptr<stella_vslam_ros::system> const&,     std::shared_ptr<stella_vslam::config> const&, bool, std::__cxx11::basic_string<char,     std::char_traits<char>, std::allocator<char> > const&)::{lambda()#1}> > >::_M_run() ()
#4 0x00007ffff63b8de4 in () at /lib/x86_64-linux-gnu/libstdc++.so.6
#5 0x00007ffff6de1609 in start_thread (arg=) at pthread_create.c:477
#6 0x00007ffff60a5133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

执行命令

gdb -ex r --args /home/user/catkin_ws/devel/lib/stella_vslam_ros/run_slam -v ~/stella_vslam/build/orb_vocab.fbow -c ~/stella_vslam/example/euroc/EuRoC_D435i.yaml --map-db-out ~/my_maps/map.msg

排查建议

  • 修复OpenCV版本冲突:错误栈中同时出现OpenCV 4.x(libopencv_core.so.405)和OpenCV 3.x(libopencv_highgui.so.3.4)的库,版本不兼容会导致调用崩溃。需统一系统中OpenCV版本,清理stella_vslam的build目录后重新编译,确保所有依赖链接到同一版本的OpenCV。
  • 验证图像输入有效性:段错误发生在cv::imshow调用时,说明传入的图像数组可能为空或无效。检查相机帧读取逻辑,确认viewer线程获取的是完整、有效的图像数据,可在pangolin_viewer::viewer::run()中添加图像有效性判断。
  • 核对相机配置文件:确认EuRoC_D435i.yaml中的图像尺寸、帧率、内参等参数与D435I实际参数完全匹配,参数不匹配可能导致图像数据解析异常。
  • 重新编译依赖库:若pangolin是基于旧版本OpenCV编译的,需重新编译pangolin并链接到当前使用的OpenCV版本,再重新编译stella_vslam。

内容的提问来源于stack exchange,提问作者Nikitos kotov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 06:52:49