一、构建与安装
1.安装构建Cartographer-ROS需要用到的工具wstool和rosdep。如果想要快速构建,也可使用Ninja:
sudo apt-get update
sudo apt-get install -y python-wstool python-rosdep ninja-build
2.创建新的工作空间google_ws,下载cartography,cartography_ros,ceres-solver三个功能包:
mkdir google_ws
cd google_ws
wstool init src
wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall
wstool update -t src
3.安装cartographer_ros所需的依赖
sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
PS:如果你在安装ROS的时候已经执行过‘sudo rosdep init’,会出现报错,此时,这个错误可以忽略。
4.构建与安装
cd ~/google_ws/
catkin_make_isolated --install --use-ninja
编译过程中我出现了系统卡死的情况,重复十几次就可以了。
二、可能出现的问题
1.在第二步中运行下面两个命令从谷歌官方仓库下载功能包时由于无法连接上网域raw.githubusercontent.com而报错
wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall
wstool update -t src
解决方法:
1)手动配置解析IP
点开网站https://site.ip138.com/raw.Githubusercontent.com/查询raw.githubusercontent.com的IP地址,选择一个添加到hosts文件中。如:
151.101.76.133 raw.githubusercontent.com
可以通过下面的命令打开hosts文件
sudo gedit /etc/hosts
若修改后还无法成功运行,可以借鉴博客https://blog.csdn.net/weixin_42576673/article/details/105380463进行修改。
2)若第一种方法无效,可以直接从下面的链接下载功能包进行编译。
免墙文件提取码:6udj(来源:博主slamml)