目前诸多教程安装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
sudo apt-get update
sudo apt-get install -y python-wstool python-rosdep ninja-build
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 # 一般执行到这就出错啦
报错显示:
出错原因是因为无法连接到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
解决办法为:
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
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数据直接执行wget指令会发生无法建立SSL连接,所以也可以通过下面的链接下载,然后放置于相应文件夹里。2D数据包 密码:2149
roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/ctg_ws/src/cartographer_paper_deutsches_museum.bag
官方的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