使用Cartographer进行建图
ubuntu22.04安装cartograph 源码安装 在我们的项目中,需要在ubuntu22.04下源码安装cartograph.可以按照以下步骤进行.
git clone git@github.com:ros2/cartographer.git
git clone git@github.com:ros2/cartographer_ros.git
# 安装依赖项 absl c++扩展库,参考下install_abseil.sh里使用的absl版本
git clone git@github.com:abseil/abseil-cpp.git
cd abseil-cpp
git checkout 215105818dfde3174fe799600bb0f3cae233d0bf
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 非线性优化库
sudo apt install libceres-dev
# 安装lua 脚本语言库,提供配置文件解析
sudo apt install liblua5.3-dev
# 安装protobuf 数据序列化开发库
sudo apt install protobuf-compiler libprotobuf-dev
# 安装地图可视化库,支持轨迹绘制以及地图可视化
sudo apt install libcairo2-dev
# 安装boost C++ 库集合
sudo apt install libboost-all-dev
# 安装 Eigen3 线性代数库
sudo apt install libeigen3-dev
# 编译cartographer_ros
colcon build --packages-up-to cartographer_ros
# rviz插件我们直接使用apt安装
sudo apt install ros-humble-nav2-rviz-plugins
sudo apt install ros-humble-cartographer-rviz 保存地图 使用Cartographer进行建图时,可以将建图结果保存下来,我们这里可以采用ROS2自带的保存地图工具nav2_map_server.