Cartographer安装教程(完美安装,复制粘贴流!!!)

默认已经安装了ROS,本博客安装过程主要是方便复制粘贴,这是完美安装版本,没上截图,没有过多解释,出现问题现搜现用。

推荐和 别的博客一起参照!!!我这个方便复制粘贴!!!

1.加入谷歌服务器域名

因为什么别的博客里有(其它同理)

sudo gedit /etc/resolv.conf

将原有的nameserver这一行注释,并添加以下两行

nameserver 8.8.8.8 
nameserver 8.8.4.4 

2.安装依赖包

sudo apt-get install -y \
    cmake \
    g++ \
    git \
    google-mock \
    libboost-all-dev \
    libcairo2-dev \
    libeigen3-dev \
    libgflags-dev \
    libgoogle-glog-dev \
    liblua5.2-dev \
    libsuitesparse-dev \
    libwebp-dev \
    ninja-build \
    protobuf-compiler \
    python-sphinx
安装protobuf3

ros自带proto2,这个低版本是不适用于cartographer,因此重装proto3。

sudo apt-get remove libprotobuf-dev
which protoc
// 运行完“which protoc”会显示一个protoc的路径,如果没有显示则下面这条命令不必执行
rm /usr/local/bin/protoc
// 具体路径以“which protoc”显示的为准,如果是默认的话更有可能是usr/bin/protoc
 
//到此,低版本的protobuf卸载完成。

安装protobuf3.6.0
(1) 首先安装依赖库

sudo apt-get install autoconf automake libtool curl make g++ unzip

(2) 接下来克隆源码,注意,git submodule update --init --recursive这一步克隆子模块必须有,否则后面会报错(报找不到文件的错),当然,之前如果你没有解决github下载慢的问题(0-1),这里可能就要慢的绝望了。

git clone -b v3.6.0 https://github.com/protocolbuffers/protobuf.git
// 上述命令表示克隆版本为3.6.0的protobuf源码
cd protobuf
git submodule update --init --recursive
// 该命令表示克隆protobuf的子模块,主要是gtest

(3) 编译并安装

// 进入到克隆的protobuf目录,当然,如果之前就在这个目录下不必再次cd
cd protobuf
./autogen.sh
./configure
make
// 如果没有克隆子模块,make check会失败但是可以继续make install,但是使用某些功能时可能会出错
make check
sudo make install
sudo ldconfig
// 输出protobuf版本信息则表示安装成功
protoc --version

最后,查看安装位置

which protoc

可以看到,其默认下载位置为 /usr/local/bin/protoc
这是我们不想要的,因为carto的搜索protoc的路径为/ usr/bin/protoc

有博客说有两种方法,我们选择直接copy过去

sudo cp /usr/local/bin/protoc /usr/bin

或者干脆一点手动copy

最终,安装完毕protobuf3.6的版本,并完成位置的调整。

3.安装cartographer

安装工具

sudo apt-get update
sudo apt-get install -y python-wstool python-rosdep ninja-build

创建工作区间"carto_ws"并初始化

mkdir carto_ws
cd carto_ws
wstool init src

加入cartographer_ros.rosinstall并更新依赖

wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall
//输入完第一个命令后需要改文件的下载地址,另起终端输入:
gedit carto_ws/src/.rosinstall
//将最后一个git来源网址由https://ceres-solver.googlesource.com/ceres-solver.git改为https://github.com/ceres-solver/ceres-solver.git
//如果打开文件一片空白,可以把我附录的粘贴进去,保存再进行下一步
wstool update -t src

这里要注意的是更改最后一个ceres-solver的git来源网址,我也给你改好了,复制就行。

在这里插入代码片

然后安装依赖并下载cartographer相关功能包
注意rosdistro=kinetic -y是根据自己ros的版本来的

rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=melodic -y
//若是其他ROS版本相应替换

4.测试

官方数据集下载地址下载

然后进行编译:
其格式为
roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=跟上bag的路径

roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=/home/carto_ws/b0-2014-07-21-12-42-53.bag

测试3D包

roslaunch cartographer_ros demo_backpack_3d.launch bag_filename:=跟上bag的路径

roslaunch cartographer_ros demo_backpack_3d.launch bag_filename:=/home/carto_ws/b3-2016-03-01-13-39-41.bag 

完结撒花,祝大家

无BUG!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值