HKUST-Aerial-Robotics / ESVO

This repository maintains the implementation of "Event-based Stereo Visual Odometry".
433 stars 92 forks source link

terminate called after throwing an instance of 'std::length_error' what(): vector::_M_range_insert #18

Closed tyutnwpuzw closed 2 years ago

tyutnwpuzw commented 2 years ago

hello, Professor Zhou. When i run the code using my bag(same in dataset),the terminal print:

I1204 21:25:45.739706 570 esvo_Mapping.cpp:243] Initialization fails once. I1204 21:25:45.747499 560 RegProblemSolverLM.cpp:54] resetRegProblem RESET fails for no enough point cloud in the local map. I1204 21:25:45.747520 560 RegProblemSolverLM.cpp:55] The system will be re-initialized I1204 21:25:45.843319 560 RegProblemSolverLM.cpp:54] resetRegProblem RESET fails for no enough point cloud in the local map. I1204 21:25:45.843341 560 RegProblemSolverLM.cpp:55] The system will be re-initialized I1204 21:25:45.864013 560 RegProblemSolverLM.cpp:54] resetRegProblem RESET fails for no enough point cloud in the local map. I1204 21:25:45.864034 560 RegProblemSolverLM.cpp:55] The system will be re-initialized I1204 21:25:45.868659 570 esvo_Mapping.cpp:481] ** Initialization (SGM) returns 291 points. I1204 21:25:45.869015 570 esvo_Mapping.cpp:237] Initialization is successfully done! terminate called after throwing an instance of 'std::length_error' what(): vector::_M_range_insert *================================================================================REQUIRED process [esvo_Mapping-5] has died! process has died [pid 473, exit code -6, cmd /home/zhangwei/catkinevso_ws/devel/lib/esvo_core/esvo_Mapping time_surface_left:=/TS_left time_surface_right:=/TS_right stamped_pose:=/esvo_tracking/pose_pub events_left:=/davis/left/events events_right:=/davis/right/events __name:=esvo_Mapping __log:=/home/zhangwei/.ros/log/9c25dbba-5505-11ec-898a-e442a65d6fd8/esvo_Mapping-5.log]. log file: /home/zhangwei/.ros/log/9c25dbba-5505-11ec-898a-e442a65d6fd8/esvo_Mapping-5.log Initiating shutdown! ================================================================================**`

When use dataset, we can run normally in RPG dataset, but error occured in HKUST dataset. Also, same error occured in ourselves bag.

Could you help me how to solve this problems? Thanks :)

WhiteCri commented 2 years ago

Same issue. Rpg dataset works fine, but others occure error!

Ethan-Zhou commented 2 years ago

The error looks like being induced when accessing an element that is out of the boundary of a container. I did come across something like that during the development but I had fixed as much as possible. Could you guys please help diagnosing it? This error might happen only on some specific configurations. Thanks!

Ethan-Zhou commented 2 years ago

Oh, please keep one thing in mind: wierd behavior/serrors are witnessed typically when your CPU is not a good one. The code does not consider the case in which one node may not catch up with the other. This may happen and can only be diagnosed by slowing down the rosbag by far.