# install_cartographer **Repository Path**: xfbug/install_cartographer ## Basic Information - **Project Name**: install_cartographer - **Description**: 国内安装cartographer源 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2022-01-10 - **Last Updated**: 2022-05-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # install_cartographer #### 介绍 国内安装cartographer源 #### 安装说明 1. **软件包依赖安装** 使用 **Ubuntu 20.04 Focal with ROS Noetic** 系统版本的用户,使用以下命令安装依赖 ``` sudo apt-get update sudo apt-get install -y python3-wstool python3-rosdep ninja-build stow ``` 使用较旧Ubuntu和ROS发行版(etc,**Ubuntu18.04 + ROS Melodic**),则使用以下命令安装依赖 ``` sudo apt-get update sudo apt-get install -y python-wstool python-rosdep ninja-build stow ``` 2. **建立工作空间** 安装软件包依赖后,使用以下命令在根目录创建cartographer工作空间 *~/cartographer_ws* ``` mkdir ~/cartographer_ws cd ~/cartographer_ws ``` 3. **使用wstool工具下载cartographer软件包** ``` wstool init src wstool merge -t src https://gitee.com/Shengshengjin_admin/install_cartographer/raw/master/cartographer_ros_cn.rosinstall wstool update -t src ``` 4. **解决cartographer软件包依赖** 首先,我们使用 rosdep 来安装所需的包。如果您在安装 ROS 后已经执行过‘sudo rosdep init’命令,则**无需**执行以下**两行命令**,如执行,则会打印错误信息。这个错误可以忽略。 ``` sudo rosdep init rosdep update ``` 接下来,使用 rosdep 来安装所需软件包 ``` rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y ``` 5. **安装abseil-cpp** Cartographer 使用 abseil-cpp 库,需要使用以下命令调用脚本安装: ``` src/cartographer/scripts/install_abseil.sh ``` 由于版本冲突,您可能需要使用以下命令卸载 ROS abseil-cpp ``` sudo apt-get remove ros-${ROS_DISTRO}-abseil-cpp ``` 6. **编译** 使用以下命令编译cartographer ``` catkin_make_isolated --install --use-ninja ``` 7. **添加工作空间环境变量** 将cartographer_ws工作空间环境变量添加到终端环境配置文件中 ``` echo "source ~/cartographer_ws/install_isolated/setup.bash" >> ~/.bashrc source ~/.bashrc ``` 若使用zsh终端,则执行以下命令 ``` echo "source ~/cartographer_ws/install_isolated/setup.zsh" >> ~/.zshrc source ~/.zshrc ``` #### 安装完成! Enjoy!