Chang
Chang
SLAM——Google cartographer环境搭建及运行

编译器安装

protobu3

sudo apt-get install autoconf autogen
git clone https://github.com/protocolbuffers/protobuf.git
cd protobuf
git submodule update --init --recursive
./autogen.sh
./configure
make(可能会报错,请忽略)
make check
sudo make install
sudo ldconfig
查看安装后的protobu版本
protoc --version

目前安装后的最新版本是3.11.0
安装时会连接联网的库进行编译,尽量挂代理,会快一点。

工具安装

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

初始化工作空间(建议把cartographer单独放置在一个工作空间)

cd carkinmake_google_ws
wstool init src

方法一:加入cartographer_ros.rosinstall并更新依赖

这次的更新依赖和安装的是cartographer、cartographer_ros、ceres-solver

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

文件结构问题:
如果出现有 no …… .rosinstall……

在src文件下新建一个.rosinstall的文件,内部写明依赖地址,即可更新依赖
文件内容如下

# THIS IS AN AUTOGENERATED FILE, LAST GENERATED USING wstool ON 2019-12-03
- git:
    local-name: cartographer
    uri: https://github.com/googlecartographer/cartographer.git
    version: 1.0.0
- git:
    local-name: cartographer_ros
    uri: https://github.com/googlecartographer/cartographer_ros.git
    version: 1.0.0
- git:
    local-name: ceres-solver
    uri: https://github.com/hitcm/ceres-solver-1.11.0.git
    version: 1.11.0

特别:
1 关于.rosinstall文件,由于谷歌定义的yaml格式太严格了,每个冒号后面都必须带有空格,所以修改的时候必须注意。
2 由于是从GitHub下载,代理尽量挂吧。

方法二:对于在使用更新依赖的方式多次报错的,也可以自行安装对应组件并分别编译

cartographer、cartographer_ros、ceres-solver三个组件建议都放同一个工作空间的src下

安装ceres solver-1.11

git clone https://github.com/hitcm/ceres-solver-1.11.0.git
cd ceres-solver-1.11.0/build
cmake ..
make –j
sudo make install

安装 cartographer

git clone https://github.com/hitcm/cartographer.git
cd cartographer/build
cmake .. -G Ninja
ninja
ninja test
sudo ninja install

安装cartographer_ros

git clone https://github.com/googlecartographer/cartographer_ros.git
catkin_make_isolate

编译并安装(方法一,方法二安装时已经编译)

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

谷歌2D包下载

下载地址: https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag
Linux内下载方式: wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag
也可在其他电脑上直接用迅雷下载。
Tip:3D包也是同样的方法下载运行,环境是一样的。我由于这次的需求是2D就没有跑3D的。

测试

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

bagfilename后为本机的bag包路径,可以自行修改

参考

https://www.cnblogs.com/hitcm/p/5939507.html
http://www.guyuehome.com/

没有标签
首页      学习笔记      ROS      SLAM——Google cartographer环境搭建及运行

发表评论

textsms
account_circle
email

Chang

SLAM——Google cartographer环境搭建及运行
编译器安装 protobu3 sudo apt-get install autoconf autogen git clone https://github.com/protocolbuffers/protobuf.git cd protobuf git submodule update --init --recursive ./auto…
扫描二维码继续阅读
2020-02-29