Cartographer,ros环境安装 全过程

看了很多博客,踩了很多坑,以下是google的 Cartographer导航包在ubuntu16.04 和ROSkinetic 下安装步骤一定行的!!不要用谷歌提供的cartographer安装方式。

先是环境的·配置

安装依赖包,此处参考https://blog.csdn.net/weixin_44684139/article/details/104708387

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

然后对protoc包进行更新

卸载掉原来的protoc2 再换成3.6版本,其他最新版本试了,反而有很多问题。此处就用3.6版本

接下来就先下载proto3,github很难链接上,我是下载了,下载不了的话这里提供下载好的和克隆子模块的版本,不确定是否能安装上。若你成功下载并编译make后再卸载protoc2 安装protoc3吧

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

自己下载的版本 https://download.csdn.net/download/qq_36885583/20018671

后编译protoc3  make

// 进入到克隆的protobuf目录,当然,如果之前就在这个目录下不必再次cd
cd protobuf
./autogen.sh
./configure
make
// 如果没有克隆子模块,make check会失败但是可以继续make install,但是使用某些功能时可能会出错
make check

 如果成功,删除protoc2

sudo apt-get remove libprotobuf-dev
which protoc
//安装 automake工具
sudo apt-get install autoconf automake libtool curl make g++ unzip

后有需要还可以自己把剩下的 usr目录下的protoc的bin库,头文件等删掉。

安装proto3

sudo make install
sudo ldconfig
// 输出protobuf版本信息则表示安装成功
which protoc
protoc --version

因为carto的搜索protoc的路径为/ usr/bin/protoc

把执行文件复制过去,或者软链接过去都行

sudo cp /usr/local/bin/protoc /usr/bin
//或者
sudo ln -s /usr/local/bin/protoc /usr/bin/protoc

后面就可以安装cartographer了

参考了微信文章还有古月的一部分

https://www.guyuehome.com/25696

cartographer经典版本快速安装

原创 白茶 l 清欢 小白学移动机器人 5月24日

下载carto,

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

//自己的新工作空间
$ cd catkin_google_ws
$ wstool init src

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

$ wstool update -t src

使用如下命令修改ceres-solver源码的下载地址为https://github.com/ceres-solver/ceres-solver.git  

Cartographer,ros环境安装 全过程_第1张图片

也可以更简单点直接到github下载下面两个包,和安装ceres

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

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

https://github.com/ceres-solver/ceres-solver

注意,把第一个的cartographer和ceres 单独用cmake编译,然后把cartographer_ros放catkin工作空间catkin_make

cd ceres-solver
mkdir build
cd build
cmake ..
make
sudo make install

cartot同样

cd cartographer/build
cmake ..
make
sudo make install

后在工作空间的src文件夹放入cartographer—ros包编译

cd catkin_google_ws
catkin_make
rospack profile

编译晚后就大功告成了,

可以source一下工作空间或者在brashrc文件加入

source /home/zs2/catkin_google_ws/devel/setup.bash

后打开新终端

下载谷歌的rosbag数据集来测试,不能测试的话就可以自己用ros和gazebo搭建仿真环境来测试,不能的话这里提供数据集链接

 wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag

数据集

然后就可以launch测试啦

roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bag

最后效果如下

Cartographer,ros环境安装 全过程_第2张图片

你可能感兴趣的:(slam,自动驾驶,系统安装)