安装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.
在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公开数据集下载链接,下载完后建图时路径要对(名字修改)
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
发表评论