Cartographer安装与编译(Ubuntu20.04+ROS Noetic)

作者 易水 2025年06月15日 12:00 阅读 629

安装Cartographer依赖在Ubuntu 20.04上安装Cartographer所需的依赖项,可以使用以下命令:sudo apt-get install \    clang \    cmake \    g++ \    git \    google-mock \    libboost-all-dev \    libcairo2-dev \    libcurl4-openssl-dev \    libeigen3-dev \    libgflags-dev \    libgoogle-glog-dev \    liblua5.

安装Cartographer依赖

在Ubuntu 20.04上安装Cartographer所需的依赖项,可以使用以下命令:

sudo apt-get install \
   clang \
   cmake \
   g++ \
   git \
   google-mock \
   libboost-all-dev \
   libcairo2-dev \
   libcurl4-openssl-dev \
   libeigen3-dev \
   libgflags-dev \
   libgoogle-glog-dev \
   liblua5.2-dev \
   libsuitesparse-dev \
   lsb-release \
   ninja-build \
   stow \
   python3-wstool \
   python3-rosdep \
   python3-sphinx \
   libatlas-base-dev

安装Abseil库

Abseil库是Cartographer的依赖之一,安装步骤如下:

git clone https://github.com/abseil/abseil-cpp.git
cd abseil-cpp/
git checkout 215105818dfde3174fe799600bb0f3cae233d0bf
mkdir build
cd build/
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=/usr/local/stow/absl ..
ninja
sudo ninja install
cd /usr/local/stow
sudo stow absl

安装Ceres库

Ceres Solver是Cartographer的另一个依赖,安装步骤如下:

git clone https://github.com/ceres-solver/ceres-solver.git
cd ceres-solver/
git checkout 0ffb6db49cec52566f53ab66be7a19970ddc562b
mkdir build
cd build/
cmake ..
make -j8
sudo make install

安装Protobuf 3

Protobuf是Cartographer的依赖之一,安装步骤如下:

git clone https://github.com/protocolbuffers/protobuf.git
cd protobuf/
git checkout e73ed1630fdec85d7fb513c166629ed49cd4eb18
./autogen.sh
./configure
make -j8
sudo make install
sudo ldconfig

安装Cartographer

安装Cartographer及其ROS接口的步骤如下:

mkdir cartographer
cd cartographer/
mkdir src
cd src/
git clone https://github.com/cartographer-project/cartographer.git
git clone https://github.com/cartographer-project/cartographer_ros.git
cd ..
catkin_make_isolated

建图

使用Cartographer进行建图,可以使用以下命令:

Bag公开数据集下载链接,下载完后建图时路径要对(名字修改)

https://google-cartographer-ros.readthedocs.io/en/latest/demos.html

roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/ca.bag

保存地图

完成建图后,保存地图的步骤如下:

停止轨迹(关闭建图过程):

rosservice call /finish_trajectory 0

保存 .pbstream 地图文件:

rosservice call /write_state "filename: '/home/ros/Downloads/my_map.pbstream'"

.pbstream 转换为 .pgm.yaml 文件:

rosrun cartographer_ros cartographer_pbstream_to_ros_map \
 -map_filestem /home/ros/Downloads/my_map \
 -pbstream_filename /home/ros/Downloads/my_map.pbstream \
 -resolution 0.05

以上步骤涵盖了在Ubuntu 20.04上安装、编译和使用Cartographer的完整流程。


发表评论