Google的cartographer SLAM算法在Turtlebot3上的仿真实现教程(中)(已排坑!)

一、前言

该篇为本文的重点,主要内容为

cartographer_turtlrbot3源码库的安装

二、cartographer_turtlebot源码库安装

这里基本参考创客智造的安装教程,但是由于教程中安装的一些包版本已经更新,如果完全按照教程走的话

会发现最后编译会报错(大坑之所在!!!)

所以我在这里重新更改了部分过程,应该可以一遍通过!

环境依旧是:ubuntu16.04  + ROSkinetic版本

1.依赖安装

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

2.安装protobuf

这里主要参考:https://blog.csdn.net/liujiayu2/article/details/77837360

但在github上下载时注意版本问题 我们需要3.4.0版本,而不是最新版

github源代码下载地址:https://github.com/google/protobuf

在branch:master 的tag栏中选择版本 3.4.0 下载该版本程序包

源码包中的src/README.md, 有详细的安装说明,安装过程如下: 


解压缩后打开其所在文件夹

1、安装所需工具:sudo apt-get install autoconf automake libtool curl make g++ unzip

2、自动生成configure配置文件:./autogen.sh

3、配置环境:./configure

4、编译源代码(时间比较长):make

5、安装:sudo make install

6、刷新动态库:sudo ldconfig

7、检查安装: protoc --version

应该是出现3.4.0版本就对了

3.创建新的工作空间

mkdir catkin_ws
cd catkin_ws
wstool init src

4.Merge the cartographer_turtlebot.rosinstall

wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_turtlebot/master/cartographer_turtlebot.rosinstall

**vim src/.rosinstall**
#更改ceres-solver中地址改为下面的地址:(否则下一步会中止)
#uri: https://github.com/ceres-solver/ceres-solver.git

wstool update -t src

5.手动替换正确版本的ceres-solver(1.12 0rc4)!!!

第三步中更改了ceres-solver程序包的github的地址,是因为原地址需要翻墙才能正常下载

但是这个链接永远对应最新版本的ceres-solver 这就会导致我们最后编译整个程序会报错!!

因此我们需要手动下载  ceres-solver 1.12 0rc4 版本的程序包 去替换新版本

(1)打开链接https://github.com/ceres-solver/ceres-solver.git

(2)在branch:master 的tag栏中选择版本 1.12 0rc4 下载该版本程序包

 (3)在你自己的程序工作空间 src 里覆盖原版本的ceres-solver文件夹,并重命名去掉版本号,保持和被替换的版本相同文件名

6 安装deb dependencies.

sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=${KINETIC} -y

7. make

catkin_make_isolated --install --use-ninja
source install_isolated/setup.bash

8.测试

现在安装了Cartographer,Cartographer ROS和Cartographer ROS的TurtleBot集成

将示例包下载到已知位置,~/Downloads,并使用roslaunch来调出演示:

下载链接:wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/turtlebot/cartographer_turtlebot_demo.bag

程序运行:

# Launch the 2D LIDAR demo.
roslaunch cartographer_turtlebot demo_lidar_2d.launch bag_filename:=${HOME}/Downloads/cartographer_turtlebot_demo.bag

# Launch the 2D depth camera demo.
roslaunch cartographer_turtlebot demo_depth_camera_2d.launch bag_filename:=${HOME}/Downloads/cartographer_turtlebot_demo.bag

# Launch the 3D depth camera demo.
roslaunch cartographer_turtlebot demo_depth_camera_3d.launch bag_filename:=${HOME}/Downloads/cartographer_turtlebot_demo.bag

运行效果:

猜你喜欢

转载自blog.csdn.net/weixin_36976685/article/details/83548456