一、系统环境
1、Ubuntu18
2、ROS-melodic
二、安装基本工具
sudo apt-get update sudo apt-get install -y python-wstool python-rosdep ninja-build stows
三、创建工作空间并下载源码
方法一:官网的方法
mkdir catkin_ws cd catkin_ws wstool init src wstool merge -t src https://raw.githubusercontent.com/cartographer-project/cartographer_ros/master/cartographer_ros.rosinstall wstool update -t src
方法二:
1、先创建一个工作空间
mkdir -p catkin_ws/src
2、下载源文件
链接:https://pan.baidu.com/s/1j5U9YYvPATiw9DiO5ShC4A
提取码:6666
3、将文件放置成如下图所示
4、进入cartographer文件夹,打开package.xml文件,删除 <depend>libabsl-dev</depend>,保存退出
四、安装依赖
1、rosdep
https://blog.csdn.net/weixin_46398948/article/details/120047411
2、安装依赖
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
如果提示全部requirements安装成功这一步就证明成功了
五、安装absl库
1、修改install_abseil.h文件
sudo gedit catkin_ws/src/cartographer/scripts/install_abseil.sh
2、将有关git两行代码删除掉,保存退出
git clone https://github.com/abseil/abseil-cpp.git
git checkout 215105818dfde3174fe799600bb0f3cae233d0bf # 20211102.0
3、将abseil-cpp文件夹放到与install_abseil.h同一级
4、在该路径下,执行install_abseil.sh文件
./install_abseil.sh
5、卸载原本的abseil(可选,不一定需要)
sudo apt-get remove ros-${ROS_DISTRO}-abseil-cpp
六、编译
1、在catkin_ws路径下编译
source /opt/ros/melodic/setup.bash catkin_make_isolated --install --use-ninja
七、测试
1、下载数据集
wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag
2、刷新环境变量
source ~/catkin_ws/install_isolated/setup.bash
3、启动launch文件
roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bag