AGV_demo奔跑 Cartographer算法安装

前言

目前诸多教程安装Google Cartographer算法均需访问Google,然而有时候因为种种原因无法实现流畅稳定的全域网络。之前走了不少弯路,所以做个笔记。本文使用的配置为Ubuntu16.04+ROS Kinetic,除去访问Google导致的问题,Cartographer安装其实很简单。

安装依赖项

sudo apt-get install -y google-mock libboost-all-dev  libeigen3-dev libgflags-dev libgoogle-glog-dev liblua5.2-dev libprotobuf-dev  libsuitesparse-dev libwebp-dev ninja-build protobuf-compiler python-sphinx  ros-kinetic-tf2-eigen libatlas-base-dev libsuitesparse-dev liblapack-dev
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

安装wstool rosdep ninja

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

安装ceres-solver

mkdir ctg_ws/src #新建一个工作空间
cd ctg_ws
wstool init src
wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall # 一般执行到这就出错啦

报错显示:
安装ceres-solver是连接不到google.png
出错原因是因为无法连接到raw.githubusercontent,这个步骤其实在安装ROS执行sudo rosdep init rosdep update时也会遇到,解决办法就是修改hosts文件:执行gedit /etc/hosts,在打开的文档里添加以下内容,保存即可[1] :

# GitHub Start
52.74.223.119    github.com
192.30.253.119    gist.github.com
54.169.195.247    api.github.com
185.199.111.153  assets-cdn.github.com
151.101.76.133    raw.githubusercontent.com
151.101.108.133  user-images.githubusercontent.com
151.101.76.133    gist.githubusercontent.com
151.101.76.133    cloud.githubusercontent.com
151.101.76.133    camo.githubusercontent.com
151.101.76.133    avatars0.githubusercontent.com
151.101.76.133    avatars1.githubusercontent.com
151.101.76.133    avatars2.githubusercontent.com
151.101.76.133    avatars3.githubusercontent.com
151.101.76.133    avatars4.githubusercontent.com
151.101.76.133    avatars5.githubusercontent.com
151.101.76.133    avatars6.githubusercontent.com
151.101.76.133    avatars7.githubusercontent.com
151.101.76.133    avatars8.githubusercontent.com
# GitHub End

重新执行:

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

在这里也会出错:
AGV_demo奔跑 Cartographer算法安装_第1张图片

解决办法为:

cd src
sudo gedit .rosinstall

当然也可以直接在目录下进行更改,注意.rosinstall隐藏文件,ctrl+h才能显示。将ceres-solver的googlesource下载源https://ceres-solver.googlesource.com/ceres-solver.git更改为https://github.com/ceres-solver/ceres-solver.git,保存即可。重新执行:

cd ..
wstool update -t src

安装依赖proto3

src/cartographer/scripts/install_proto3.sh
sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y

安装编译

catkin_make_isolated --install --use-ninja
echo "source ~/ctg_ws/devel_isolated/setup.bash" >> ~/.bashrc
source ~/.bashrc

2D测试

2d数据直接执行wget指令会发生无法建立SSL连接,所以也可以通过下面的链接下载,然后放置于相应文件夹里。2D数据包 密码:2149

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

运行一个小时左右的地图如下所示:
AGV_demo奔跑 Cartographer算法安装_第2张图片

3D测试

官方的3D数据包的位置发生变化,原有的链接失效,同样可通过以下链接下载,然后放置于相应文件夹里。3D数据包 密码:gojh

roslaunch cartographer_ros demo_backpack_3d.launch bag_filename:=${HOME}/ctg_ws/src/b3-2016-06-07-12-42-49.bag

运行一小时左右的地图如下所示:

参考:

https://blog.csdn.net/rjasd1128hf/article/details/79888305
https://blog.csdn.net/qq_38649880/article/details/87719394
https://www.cnblogs.com/sinferwu/p/12726833.html
https://blog.csdn.net/qq_40982681/article/details/91358033

你可能感兴趣的:(AGV_demo奔跑)