UZ-SLAMLab / ORB_SLAM3

ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM
GNU General Public License v3.0
6.55k stars 2.55k forks source link

Suspected bug encountered when running the EuRoC dataset with MonoInertial #466

Open RayShark0605 opened 2 years ago

RayShark0605 commented 2 years ago

I successfully compiled the latest version of ORB-SLAM3 on Windows 10 by Visual Studio 2017 and tested Mono-EuRoC, Mono-Kitti, Mono-TUM without problems. However, when running the EuRoC dataset in MonoInertial, there is no problem at the beginning, and an error will be reported in the half-way. The error point is located in the following position in the "LocalInertialBA" function in "Optimizer.cc"(around line 2835) ... for(map<int,int>::iterator mit=mVisEdges.begin(),mend=mVisEdges.end(); mit!=mend; mit++) { assert(mit->second>=3); //Error reported here } optimizer.initializeOptimization(); ...

I don't know what the assertion here does. Could someone tell me what should I do? 1

DOGEwbx commented 2 years ago

Maybe you complile the source code with DEBUG flag? #145 shows that the RELEASE flag will figure it out.

RayShark0605 commented 2 years ago

Maybe you complile the source code with DEBUG flag? #145 shows that the RELEASE flag will figure it out.

Thanks Reply! After I adjust to Debug mode, assert errors in other locations are always triggered, almost all of which are asserts in the function library of VC itself. That's why I use Release mode.

0y8w1x commented 2 years ago

@RayShark0605 I tried to compile for windows aswell, but with no success so far. Could you share the windows version please ?