fabianschenk / REVO

Robust Edge-based Visual Odometry (REVO)
148 stars 43 forks source link

Sophus has problems running Revo #7

Closed RuiYangQuan closed 2 years ago

RuiYangQuan commented 2 years ago

This error occurs when I run REVO on my own data set:

Sophus ensure failed in function 'static Sophus::SO3 Sophus::SO3<Scalar, Options>::expAndTheta(const Tangent&, Sophus::SO3<Scalar, Options>::Scalar*) [with Scalar = float; int Options = 0; Sophus::SO3<Scalar, Options>::Tangent = Eigen::Matrix<float, 3, 1>; Sophus::SO3<Scalar_, Options>::Scalar = float]', file '/home/one/REVO-fabian/thirdparty/Sophus/sophus/so3.hpp', line 563. SO3::exp failed! omega: -nan -nan 0, real: -nan, img: -nan Aborted (core dumped)

In this regard, I have made some attempts, such as changing camera internal parameters, Canny threshold value and resolution, but none of them had any effect. Could you please give me some suggestions

fabianschenk commented 2 years ago

Hi @RuiYangQuan ,

This error probably happens when REVO can't estimate a valid pose. Apparently, I forgot to catch this somewhere in the code base. You could just go to the part in the code where this happens and try to check before converting the rotation matrix to its minimal representation.

Good luck :D

RuiYangQuan commented 2 years ago

Thank you for your reply. I will try something @fabianschenk