极速安装cartographer

适合对象:第一次安装cartographer的且需要快速安装cartographer的,或者之前安装没有编译错误的朋友
不适合对象:因编译错误又再次重新安装的,我这里建议编译错误的直接重装系统,因为只要编译,就基本是系统的各个软件版本不再兼容,网上教程,鱼龙混杂,极易出现问题。

极速原理:将在github上的代码导入到码云上,再进行clone
建议:不要畏惧注册码云,十分简单十分有用,以后要是遇到github下载速度慢,都可以导入到码云上的,下载速度从此飞起

前期准备:(十分简单)

<1> 码云注册账户:码云,留意用户名和密码,后面要用到
<2> 需要导入到码云上的代码地址,共有四个 <3>-<6> 新建仓库导入的过程

https://github.com/cartographer-project/cartographer.git
https://github.com/cartographer-project/cartographer_ros.git
https://github.com/ceres-solver/ceres-solver.git
https://github.com/google/protobuf.git

<3> 在码云上新建一个仓库,在下图首行界面中点击+号,新建仓库
在这里插入图片描述

<4>出现下面的图,点击导入已有仓库在这里插入图片描述

<5>出现下面的图,将上面的github的代码地址复制到导入已有仓库的文本框里、(每次只复制一行)
在这里插入图片描述
<6> 出现下面的图,点击创建,等待同步,很快
在这里插入图片描述

<7> 反复3-6步骤,将需要导入到码云的四个代码都分别新建库然后导入,全部导入完成之后出现类似下面的图
在这里插入图片描述
<8>然后点击仓库,会出现克隆/下载,点击,出现复制按钮,如下图,该复制的地址就是之后安装cartographer使用的地址,总共四处
在这里插入图片描述

cartographer安装步骤:

<1>更新和安装编译工具

sudo apt-get update
sudo apt-get install -y python-wstool python-rosdep ninja-build

<2>创建工作空间

mkdir catkin_ws_google
cd catkin_ws_google
wstool init src
wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall

<3>修改.rosinstall,将码云上的代码地址对应的更改过来,三处都改

vim src/.rosinstall
#将码云上的代码地址对应的更改过来,三处都改
修改过后的,参考,每个人的都不一样,更改为每个人对应的码云上的地址
需要修改的三处:
https://gitee.com/zhaokexue/cartographer.git
https://gitee.com/zhaokexue/cartographer_ros.git
https://gitee.com/zhaokexue/ceres-solver.git
# THIS IS AN AUTOGENERATED FILE, LAST GENERATED USING wstool ON 2020-07-30
- git:
    local-name: cartographer
    uri: https://gitee.com/zhaokexue/cartographer.git
    version: 1.0.0
- git:
    local-name: cartographer_ros
    uri: https://gitee.com/zhaokexue/cartographer_ros.git
    version: 1.0.0
- git:
    local-name: ceres-solver
    uri: https://gitee.com/zhaokexue/ceres-solver.git
    version: 1.13.0

<4>更新src

wstool update -t src
#这里需要输入码云的用户名和密码,对应输入之前注册的帐号和密码
#输入三组之后就完成了,很快

<5>修改 install_proto3.sh

vim src/cartographer/scripts/install_proto3.sh
#将码云上的代码地址对应的更改过来,只有一处
修改过后的,参考,每个人的都不一样,更改为每个人对应的码云上的地址 只修改https://gitee.com/zhaokexue/protobuf.git
VERSION="v3.4.1"

# Build and install proto3.
git clone https://gitee.com/zhaokexue/protobuf.git
cd protobuf
git checkout tags/${VERSION}
mkdir build
cd build
cmake -G Ninja \
  -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
  -DCMAKE_BUILD_TYPE=Release \
  -Dprotobuf_BUILD_TESTS=OFF \
  ../cmake
ninja
sudo ninja install

<6> 安装proto3

src/cartographer/scripts/install_proto3.sh  #等待安装完成
#这里需要输入码云的用户名和密码,对应输入之前注册的帐号和密码

<7> 接下来执行

sudo rosdep init #这里报错很正常,不用在意
rosdep update    #这里超时报错,就重新执行几次改命令就好
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y

<8>编译

catkin_make_isolated --install --use-ninja
#编译时间较长,可以静等编译成功,
如果编译不成功,多数是系统被更该过于严重,不建议使用网上教程更改,因为多说情况下,还是会有问题,建议重装系统,在纯净的系统下,按照该教程安装完全没有问题,而且安装十分迅速。

系列教程:
TX2刷机教程 + sdkmanager + ubuntu16.04 + Jetpack 3.3.1
ubuntu 16.04极速安装ROS-Kinetic,以及常见错误处理
学习移动机器人SLAM、路径规划必看的几本书
自己开发ROS机器人平台如何做?
stm32和ros的串口通信
ros app 下载、ros android app下载、ROS机器人控制app下载

用自己的机器人实现cartographer建图测试与地图保存应该这样做
激光slam传感器处理:2D激光雷达运动畸变去除原理解释、代码实现

为了让更多人,看到这篇滴血教程,希望多多点赞、评论、收藏。多谢