高翔SLAM十四讲ch12实践部分避坑(有需要可以参考)
在12讲的实践部分是遇到最多问题的,一个是库的安装,一个是代码的问题,下面就讲讲我的方法(有需要可以参考一下,希望能帮到大家)
库的安装方面
在slam十四讲书中说在ubuntu18.04只要用一句命令就可以安装点云库PCL
sudo apt-get install libpcl-dev pcl-tools
我试了很多次都不行,不过官网好像也是说这样安装的
安装方面就不仔细说了,参考下面的文章吧(我是按照这些来装的,综合两个教程吧,感谢这两个教程)
代码方面
因为时间比较长了,我们的库可能和高博之前的不一样,所以编译代码的时候会遇到很多错误
-
CmakeList文件
我在编译时好像遇到了C++11用不了,所以在文件里面修改了C++版本
set(CMAKE_CXX_STANDARD 14)
把原来的改了试试
-
代码
原来pointcloud_mapping和octomap_mapping的代码中是这样写的
vector<Eigen::Isometry3d> poses;
编译错误,所以改成如下(参考这个博客)
vector<Eigen::Isometry3d,Eigen::aligned_allocator<Eigen::Isometry3d>> poses;
还有在surfel_mapping代码中
mls.setPolynomialFit(polynomial_order > 1);
这个函数好像用不了,我根据CLion的提示改成下面的形式就可以了
mls.setPolynomialOrder(polynomial_order > 1);
成功,上图