Turtlebot2安装Google的cartographer做激光雷达SLAM

本文分享了作者在室外环境中实施SLAM技术的经验,包括使用ORBSLAM2遇到的问题及其解决方案,以及如何在turtlebot2上安装并配置cartographer进行激光SLAM的研究过程。

前言

        由于想在室外环境下做slam,开始选择ORBSLAM2,使用单目、双目、RGB-D在室外做了实验,发现效果非常差【单目、双目特征点很稀疏,难以用于导航;而kinect V1相机在室外有效距离下降到1m,且建图效果也很差】。现在是准备在turtlebot2上安装cartographer研究Google的激光SLAM,前期使用Kinect相机模拟激光数据,后期购买激光雷达。

一、环境准备

        turtlebot2小车底盘+NVIDIA TX2开发板

        Ubuntu 16.04+ROS kinetic版本

二、参考链接及说明

2.1参考链接

turtlebot2:

        https://www.ncnynl.com/archives/201702/1369.html

        https://www.ncnynl.com/archives/201702/1370.html(该安装方式已经被遗弃,亲测按照此方法会安装失败)

turtlebot3:

        https://www.ncnynl.com/archives/201801/2230.html

2.2安装前说明

      创客制造上有三种方式,turtlebot2的两种方式和turtlebot3的一种方式(参考上述链接),因为踩了turtlebot2安装方式里面的2个坑,用了turtlebot3安装cartographer的方式,这里主要注意一个坑就够了。这个坑就在于手动修改./rosinstall这个文件,贴上github上的ceres下载路径https://github.com/ceres-solver/ceres-solver.git的时候该链接对应着最新版的ceres,虽然最后在安装这个package不会报错,但编译cartographer包的时候依赖ceres-solver编译编译出来的链接库等文件,很难让人发现是ceres-slover包的错误。因此,我们要找到对应版本的ceres包的源码,手动下载到你创建的cartographer根目录。

三、安装

    依照这个连接https://www.ncnynl.com/archives/201801/2230.html安装。

在执行到这一步的时候:

catkin_make_isolated --install --use-ninja -j1
会遇到这个错误:


问题所在:直接把这个连接https://github.com/ceres-solver/ceres-solver.git贴到src/.rosinstall文件中

        会出现一个隐藏错误:自动从github想下载最新版本的ceres(目前为1.14),我们需要的是1.12 0rc4版本。这个错误很难发现,因为ceres库本身会编译通过,而起来ceres的其他库会编译失败,而且一般也看不懂错误代码,难以下手解决。

解决方法:手动去github上找到对应ceres-slover版本。

         修改ceres的github地址的时候注意了,一定要找到对应版本,或者自己手动下载放到对应目录,修改文件名,去掉版本信息,改为ceres-solver。 查找对应版本(1.12  0rc4)的方法:

打开连接:https://github.com/ceres-solver/ceres-solver.git,点击branch:master,然后点击下方的tag,会出现一些版本标签,点击对应的标签就进入到对应版本的下载界面了。


然后,重新执行:

catkin_make_isolated --install --use-ninja -j1
过程比较慢,耐心等待。最后这个包安装成功:


接下来就是按照创客制造上面的教程来安装了,没有问题,最后成功的截图:


四、安装过程中的其他问题

        因为我只遇到了这种情况,其他问题可参考上面的连接内容,后面有对应的问题及解决方案。

参考链接:

创客智造官网

        https://www.ncnynl.com/archives/201702/1369.html

        https://www.ncnynl.com/archives/201702/1370.html

        https://www.ncnynl.com/archives/201801/2230.html
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值