cartographer安装

cartographer源码安装,明确说明各大依赖版本

Cartographer源码阅读_预准备

说明:

cartographer是google推出的一套基于图优化的SLAM算法。正如邵总所说,cartographer算法并没有给人惊艳的感觉,但该算法的主要目标是实现低计算资源消耗,达到实时SLAM的目的。因此,其代码实现也是非常值得学习的。

该算法主要分为两个部分,第一个部分称为Local SLAM, 该部分通过一帧帧的Laser Scan建立并维护一系列的Submap,而所谓的submap就是一系列的Grid Map。当再有新的Laser Scan中会通过Ceres Scan Matching的方法将其插入到子图中的最佳位置。但是submap会产生误差累积的问题,因此,算法的第二个部分,称为Global SLAM的部分,就是通过Loop Closure来进行闭环检测,来消除累积误差:当一个submap构建完成,也就是不会再有新的laser scan插入到该submap时,算法会将该submap加入到闭环检测中。闭环检测的本质也是一个优化问题,该优化问题被表达成了一个pixel-accurate match的形式,解决优化问题的方法是Branch-and-Bound Approach.

cartographer的安装主要包括三个部分:cartographer、cartographer ros、ceres-solver. 如果完全按照官网的方法,前两个部分没什么问题,但如果自己的电脑不能翻墙的话,ceres-solver就会出现错误。因为ceres-solver的下载地址是被墙了的

安装:

cartographer分成6个部分,分别是eigen3.2.9,ceres1.13.0,protobuf>=3.0.0,cartographer,cartogpher_rosabseil分开进行编译:

1.eigen

注意警告:cartographer对eigen,ceres,protobuf有严格的版本限制,版本必须严格!!!

eigen版本必须是3.2.9

#选择版本3.2.9
git clone  https://gitlab.com/libeigen/eigen.git
mkdir build
cd build
cmake ..
sudo make install

eigen是一个特殊的矩阵运算库,全都是由头文件构成,所以不需要make

安装完成

2.ceres

注意:ceres版本必须是1.13.0,其它版本与eigen3.2.9不匹配

#选择版本1.13.0
git clone https://github.com/ceres-solver/ceres-solver.git
mkdir build
cd build
cmake ..
make -j8
sudo make install
3.protobuf

注意:protobuf必须是3.0.0以上,本作者请测3.0.0以上适应任何版本的cartographer

注意:protobuf安装方式特殊,脚本安装

选择版本3.0.0
git clone https://github.com/protocolbuffers/protobuf.git
./autogen.sh
#如遇见Erreo,prot:443,注释autogen.sh脚本34行
./configure
make
sudo make install
sudo ldconfig
#测试一下protobuf
protoc --version
#不出意外将会显示libprotoc 3.0.0
4.abseil

cartographer对abseil没有版本要求,但是一定要有,这个库具体做什么,请百度查阅!

git clone https://github.com/abseil/abseil-cpp.git
mkdir build
cd build
cmake .. -DCMAKE_CXX_STANDARD=11
make -j8
sudo make install
5.carographer

注意carographer和cartographer _ros版本必须对应

mkdir cartographer

cd cartographer & mkdir src

cd src

git clone https://github.com/cartographer-project/cartographer.git

git clone https://github.com/cartographer-project/cartographer_ros.git

catkin_make_isolated

#不出意外,编译完成!
  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值