Ubuntu 18.04 libtorch 与 ORB-SLAM 的结合

2 篇文章 0 订阅
2 篇文章 0 订阅

cmakelists主要参考orb-slam2_with_semantic_label项目中的cmakelists。

ORB-SLAM的编译需要C++11标准,但是libtorch1.5之后的版本都需要C++14,所以,根据自己的cuda选择一个可以下载的libtorch版本。链接格式可以参考Ubuntu系统pangolin与libtorch所引发的连接错误里面的格式进行尝试,当然要下载非预编译版本,否则后面会和各种库发生冲突。

选择好libtorch版本后,还是编译不通过,一直提示为未解决的引用,所以我又尝试了下载GCC5.4.0,不过好像是非必须的,如果编译不通过也可以尝试改变GCC编译器。参考的链接:Ubuntu18.04 gcc5安装及切换。最后的解决办法还是换了个非预编译版本的libtorch。

解决完大部分的引用问题,又出现了PCL库未解决的引用,手动安装PCL1.8,参考链接Ubuntu18.04安装PCL(详细教程),但是依旧没有解决问题,然后参考报错:对‘pcl::search::Search<pcl::PointXYZ>::getName() const’未定义的引用,在每个使用PCL的文件中添加了一行代码:

#include <pcl/search/impl/search.hpp>

问题解决了,编译通过了。但是代码运行依旧有一些问题,还需要继续的尝试。Fighting!!!


通过反复的安装ROS、PCL。代码编译通过了,也能跑了。但是就算是运行RGBD-SLAM也比较慢,不知道原因,继续干!!!


2021.03.09

经过反复的调试,发现PCL计算法线的时间过长,导致运行效率变低。回忆一下以前的环境,原先安装的应该是PCL1.9,所以又在Ubuntu上额外安装了PCL1.9,参考链接ubuntu下安装多版本PCL

在安装之后,发现单步的时长回归正常。但是运行起来还是会闪退,经过调试,报错double free or corruption (out)。百度了一下,按照double free or corruption (out)问题解决了,终于整个代码运行了起来。

喜大普奔,喜极而泣!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值