Open BigDeviltjj opened 4 years ago
mac 版本我还真没测试过,不过这个版本应该有两个同学跑通过。看你 log 前面初始化的时候Initialization finish! 前面那一段好像很多 imu 数据丢失。应该是系统没有初始化好(数据有丢失?)就开始跑后面的 vio,所以没多久就跪了。
@HeYijia 所以这个wait for imu, only should happen at the beginning sum_of_wait: 80
其实是不正常的是吧,我debug一下看看,谢谢!
测试此程序时也遇到类似的现象,定位了根因,并解决了问题。 【测试环境】:ubuntu 14.04 【问题描述】:初始化过程中不收敛,优化时LM会挂掉,现场一致。 【根因描述】: 1、ceres的库引起,构建时因为配置原因,ceres的ceres::DENSE_SCHUR模式无法使用,而初始化流程中SFM部分,默认是使用此方式。 2、构建ceres,进行cmake ..时报以下语句: ....
Disabling the use of Eigen as a sparse linear algebra library. This does not affect the covariance estimation algorithm which can still use the EIGEN_SPARSE_QR algorithm.
.... 3、与系统版本没有关系,测试使用的是ubuntu 14.04 【解决办法】 方法1、重新构建ceres。(我没尝试) 方法2、将优化的配置参数设置为ceres::SPARSE_SCHUR 代码位置:initial_sfm.cpp文件中第275行options.linear_solver_type = ceres::DENSE_SCHUR;
目前测试时的问题已经解决,你试试是不是同样的原因。
mac系统,数据集是MH_05_difficult, 会运行很短的时间后优化器挂掉,lm算法的lambda值变得很大梯度无法下降。对代码的改动只有把opencv2的宏定义换成opencv4的宏定义,并且检查过应该不会造成影响,关键点一开始也能监测到,请问这个可能的原因是啥?
部分log 如下