bytedance/SchurVINS

Running vio mono fail

Closed this issue · 1 comments

我正在尝试使用 EuRoc MH_01_easy 数据集进行单目测试
roslaunch svo_ros euroc_vio_mono.launch
rosbag play ~/dataset/euroc/MH_01_easy.bag
运行后出现如下错误

[ INFO] [1713845557.314806893]: DepthFilter: RESET.
[ INFO] [1713845557.924445191]: Init: Triangulated 270 points
[ WARN] [1713845557.930268830]: Not enough matched features: 1
[ WARN] [1713845558.108838740]: update seed with ref frame
[ INFO] [1713845558.126628123]: DepthFilter: RESET.
[ INFO] [1713845558.132423986]: DepthFilter: RESET.
[ INFO] [1713845558.634061873]: Init: Triangulated 253 points
F0423 04:12:38.638149 24000 schur_vins.cpp:158] Check failed: _dt >= 0 && _dt < 0.015 dt: 0.145
*** Check failure stack trace: ***
    @     0xffffa4f0d478  google::LogMessage::Fail()
    @     0xffffa4f12114  google::LogMessage::SendToLog()
    @     0xffffa4f0d16c  google::LogMessage::Flush()
    @     0xffffa4f0d9ec  google::LogMessageFatal::~LogMessageFatal()
    @     0xffffa52b1360  schur_vins::SchurVINS::Prediction()
    @     0xffffa52b1f38  schur_vins::SchurVINS::Forward()
    @     0xffffa5250a48  svo::FrameHandlerBase::schurvinsForward()
    @     0xffffa5250b6c  svo::FrameHandlerBase::sparseImageAlignment()
    @     0xffffa523e180  svo::FrameHandlerMono::processFrame()
    @     0xffffa523dbfc  svo::FrameHandlerMono::processFrameBundle()
    @     0xffffa52642cc  svo::FrameHandlerBase::addFrameBundle()
    @     0xffffa5265b60  svo::FrameHandlerBase::addImageBundle()
    @     0xffffa5bce144  svo::SvoInterface::processImageBundle()
    @     0xffffa5bd0248  svo::SvoInterface::monoCallback()
    @     0xffff946cfc88  image_transport::RawSubscriber::internalCallback()
    @     0xffffa55962bc  boost::detail::function::void_function_obj_invoker1<>::invoke()
    @     0xffff946d3b30  ros::SubscriptionCallbackHelperT<>::call()
    @     0xffffa5dede6c  ros::SubscriptionQueue::call()
    @     0xffffa5d99a6c  ros::CallbackQueue::callOneCB()
    @     0xffffa5d9b194  ros::CallbackQueue::callAvailable()
    @     0xffffa5bd14e8  svo::SvoInterface::monoLoop()
    @     0xffffa5a78f9c  (unknown)
    @     0xffffa5c4c624  start_thread
    @     0xffffa58e662c  (unknown)

当我尝试注释 schur_vins.cpp:158 中的 CHECK(_dt >= 0 && _dt < 0.015) << "dt: " << _dt; 并继续运行代码时,单目并不能正常初始化

[ INFO] [1713846196.049524194]: Found parameter: cam0_topic, value: /cam0/image_raw
[ INFO] [1713846201.779568090]: DepthFilter: RESET.
[ INFO] [1713846202.466484290]: Init: Triangulated 273 points
[ WARN] [1713846202.471739380]: Not enough matched features: 0
[ INFO] [1713846202.526014361]: DepthFilter: RESET.
[ INFO] [1713846202.540202016]: DepthFilter: RESET.
[ INFO] [1713846203.150429742]: Init: Triangulated 184 points
[ WARN] [1713846203.205118006]: update seed with ref frame
[ INFO] [1713846203.207485165]: DepthFilter: RESET.
[ INFO] [1713846203.280929192]: DepthFilter: RESET.
[ INFO] [1713846204.748265458]: Init: Triangulated 273 points
[ WARN] [1713846204.755045394]: Not enough matched features: 0
[ INFO] [1713846204.803306205]: DepthFilter: RESET.
[ INFO] [1713846204.929605295]: DepthFilter: RESET.
[ INFO] [1713846205.971445961]: Init: Triangulated 212 points
[ WARN] [1713846205.976854076]: Not enough matched features: 0
[ INFO] [1713846206.025532875]: DepthFilter: RESET.
[ INFO] [1713846206.039397071]: DepthFilter: RESET.
[ INFO] [1713846206.595847774]: Init: Triangulated 270 points
[ WARN] [1713846206.651199885]: update seed with ref frame
[ INFO] [1713846206.672586552]: DepthFilter: RESET.
[ INFO] [1713846206.679501562]: DepthFilter: RESET.
[ INFO] [1713846207.672123487]: Init: Triangulated 358 points
[ WARN] [1713846207.678051447]: Not enough matched features: 0
[ INFO] [1713846207.724733300]: DepthFilter: RESET.
[ INFO] [1713846207.778182832]: DepthFilter: RESET.
[ INFO] [1713846208.238005096]: Init: Triangulated 462 points
[ INFO] [1713846208.291663814]: DepthFilter: RESET.
[ INFO] [1713846208.338507812]: DepthFilter: RESET.
[ INFO] [1713846208.884368398]: Init: Triangulated 427 points
[ WARN] [1713846208.890133989]: Not enough matched features: 0

在运行双目测试时 roslaunch svo_ros euroc_vio_stereo.launch 不会出现上述错误
请问我应如何解决该问题

不改动代码的情况下,是不支持单目运行的。
如果需要单目运行,需要在代码里面适配一下。