Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mapping drift when using the dataset provided by lio-sam #2

Open
xiaoxueshengyao opened this issue Apr 12, 2024 · 6 comments
Open

mapping drift when using the dataset provided by lio-sam #2

xiaoxueshengyao opened this issue Apr 12, 2024 · 6 comments

Comments

@xiaoxueshengyao
Copy link

Thans for your great work. While the robot will drift immediately when using the dataset "Campus dataset (small)" like this. What should I modify the project.
mapping_drift

@qdLMF
Copy link
Owner

qdLMF commented Apr 12, 2024

Try use config/params-campus.yaml

@xiaoxueshengyao
Copy link
Author

xiaoxueshengyao commented Apr 17, 2024

Try use config/params-campus.yaml

Thanks for your reply. I had tried to use the yaml, but the drift is still occured. I tried to use more iteration, while the optimization can not converge even if the iteration is setted to 300.

@qdLMF
Copy link
Owner

qdLMF commented Apr 17, 2024

Try use config/params-campus.yaml

Thanks for your reply. I had tried to use the yaml, but the drift is still occured. I tried to use more iteration, while the optimization can not converge even if the iteration is setted to 300.

Does it drift when using other bag files?

@xiaoxueshengyao
Copy link
Author

Yes, I had tried several bags. All of them drifted.

@xiaoxueshengyao
Copy link
Author

xiaoxueshengyao commented Apr 17, 2024

方便交流我用中文了,在我测试发现calc_surf_coeff.cu中计算面方程式使用qr分解去计算系数,但是所有得到的系数都是nan,两种方法都是同样的结果
代码如下
`for(int i = 0; i<5; i++)
{
printf("matA0: %f %f %f \n",matA0(i,0),matA0(i,1),matA0(i,2));
}

// ColPivHouseholderQR5x3 qr_decomp(matA0);
ColPivHouseholderQRNx3<5> qr_decomp(matA0);
matX0 = qr_decomp.Solve(matB0);
printf("matX0 %f %f %f\n",matX0(0,0),matX0(1,0),matX0(2,0));`

对应打印如下
image

@qdLMF
Copy link
Owner

qdLMF commented Apr 17, 2024

尝试将cuda_plane_line_odometry/CMakeLists.txt中的set(CMAKE_CUDA_ARCHITECTURES 52)中的52改成你的GPU的compute capability
或者,使用注释掉的// ColPivHouseholderQR5x3 qr_decomp(matA0);
这里的qr分解,我原先想直接用Eigen的,但是报了超多模板错误,实在调不通无奈之下才写了这么个5x3的版本
我在其它项目中也碰上过关于Eigen的诡异错误
看来在kernel内盲目使用Eigen也许是个不成熟的决定

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants