【Ubuntu-20.04安装cartographer】
方法一、官方推荐的 wstool安装方法,简单易用
1、安装依赖项
sudo apt-get update
sudo apt-get install -y python3-wstool python3-rosdep ninja-build stow
2、拉取源码
mkdir cartographer_ws
cd cartographer_ws
wstool init src
注意,后面的命令都在cartographer_ws目录下执行即可
wstool merge -t src https://raw.githubusercontent.com/cartographer-project/cartographer_ros/master/cartographer_ros.rosinstall
wstool update -t src
3、rosdep更新
国内不好安装rosdep,所以官方给的这两条无法用sudo rosdep init和rosdep update。
请跳转我的文章鱼香ROS安装rosdepc
按照步骤完成后,出现如下图片所示
也就是说脚本已经帮你安装了rosdepc 以及自动运行了sudo rosdepc init,用户只需再手动运行
rosdepc update
4、修改
打开 ~/cartographer_ws/src/cartographer目录下的package.xml,注释掉第46行。xml语言的注释语法就是图片中所示
5、补全其他安装包
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
6、安装abseil
先卸载ros自带的abseil
sudo apt-get remove ros-${ROS_DISTRO}-abseil-cpp
再使用脚本安装
src/cartographer/scripts/install_abseil.sh
7、编译
catkin_make_isolated --install --use-ninja
8、添加到系统环境变量
打开主目录下的隐藏文件.bashrc,写入下面命令
source ~/cartographer_ws/install_isolated/setup.bash
方法二、手动安装每个包
1、创建工作空间
mkdir cartographer_ws
cd cartographer_ws
后面的命令均在~/cartographer_ws路径下运行
2、安装Ceres
可以看下自己电脑之前跑其他SLAM算法有没有装过Ceres库,有的话就不用装了。
sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev
git clone https://github.com/ceres-solver/ceres-solver.git
cd ceres-solver/
git checkout 0ffb6db49cec52566f53ab66be7a19970ddc562b# 将下载的ceres-solver的版本回退到2.0.0
mkdir build
cd build/
cmake ..
make -j$(nproc)
sudo make install
3、下载cartographer及cartographer_ros
git clone https://github.com/cartographer-project/cartographer.git
git clone https://github.com/cartographer-project/cartographer_ros.git
4、修改
打开 ~/cartographer_ws/src/cartographer目录下的package.xml,注释掉第46行和。
5、安装abseil
~/cartographer_ws/src/cartographer/scripts/目录下有很多脚本可以自动安装一些库。
在终端的~/cartographer_ws目录下依次运行以下命令
src/cartographer/scripts/install_abseil.sh
src/cartographer/scripts/install_proto3.sh
6、编译
catkin_make_isolated --install --use-ninja
如果报错找不到libceres和protubuf,那就回到第4步打开 ~/cartographer_ws/src/cartographer目录下的package.xml,继续注释对应的行
7、添加到系统环境变量
打开主目录下的隐藏文件.bashrc,写入下面命令
source ~/cartographer_ws/install_isolated/setup.bash