PL_SLAM在TX2上编译关键记录

TX2 上编译,有啥稀奇,跟普通的都差不多,但是有些基础库安装要符合TX2的特性。做SLAM研究,就是为了做工程,使用TX2直接距离实施应用更进一步。其中遇到三个难点

这里先给出一个链接https://www.ncnynl.com/archives/201706/1747.html;这个是专门的TX2开发资料教程。相信许多库的安装都可以参考他了。例如你要装G2O;pangolin;eigen3;mrpt;对了,还有OPENCV3.4加扩展库;这些东西要按照一定顺序来;给出结果吧,原因就不说了。1.OPENCV3.4+contrib3.4;2.eigen3;3.pangolin;4.G2O;5.mrpt1.5;至于其他的BOOST,YAML都是一句话的命令没啥好说的。好说的是有些库安装的时候会出错;

A,例如:PL-StVO编译的时候,sceneRepresentation.cpp中有一个函数,这个函数是场景更新函数,名字是:

“bool sceneRepresentation::updateScene(list<pointFeature*>matched_pt,list<LineFeature*>matched_ls)”

这个函数中有一句代码总是通不过,就是post_gt=TPost3D(1,2,3,4,5);提示说mrpt函数中不支持这个operate。这个真让人头大,编译库就怕代码中有个函数说不支持,到底是库版本错了还是代码错了,真让人抓狂,特别对于初次研究编译的人没有经验,是一个非常大的打击。这样的时候,不要急着抓狂,先分析一下编译不同的的句子特征,看看再源代码中有多少通不过的,如果就是一两句,那说明库版本没啥大问题。结果一搜索,看到一个post_gt=CPose3D(TPost3D(1,2,3,4,5));这就代码就没事,可以通过!难道是作者笔误?!谁又知道,谁让我们是第一次呢,改过来,编译就通过了,如果以后逻辑不会错,那就说明作者在给我们开玩笑!

B,跟这个类似的还有一个地方,那就是大名鼎鼎的G2O,那个高博14讲里的问题,g2o::BlockSolverTraits<6,3>函数用法问题。总不能为了这几句代码就去重新装G2O吧,所以就按照网上通用的解决方法修改作者的代码吧。改完几个waring通过。

C ,还有一个提示缺少什么库文件,例如g2o_ext_csparse,我找遍G2O的库目录确实没这个文件,于是就去CMamekList文件直接把这个库文件去掉了。至于有的什么库目录找不到啦的问题,就直接修改CMaekList文件就好了,怎么改?搜搜百度。

最终这个PL-SLAM在TX2上编译通过了,具体测试效果:怎么slam

运行 效果

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值