1.修改软件源

推荐使用清华的源,科大的好像有点问题

在 sudo gedit /etc/apt/source.list 中加入

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-updates main restricted universe multiverse  
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-updates main restricted universe multiverse   
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse   
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse   
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-backports main restricted universe multiverse   
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-backports main restricted universe multiverse   
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main universe restricted   
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main universe restricted

2.在TX2上安装ROS

[待定]

3.更新软件源

sudo apt-get update

4.安装依赖包

sudo apt-get install -y python-wstool \
python-rosdep \
ninja-build \
g++ \
git \
google-mock \
libboost-all-dev \
libcairo2-dev \
libeigen3-dev \
libgflags-dev \
libgoogle-glog-dev  \  
liblua5.2-dev \
libsuitesparse-dev \
python-sphinx

5.创建并初始化工作空间

mkdir catkin_ws
cd catkin_ws
wstool init src

6.获取安装源

wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall
#修改ceres-solver的源
#改为 https://github.com/ceres-solver/ceres-solver.git
wstool update -t src

可能遇到错误:

ERROR:
Clone failed RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
Clone failed
 RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
The remote end hung up unexpectedly
early EOF
index-pack failed

解决办法:

git config --global http.postBuffer 524288000
#给git加了500M的空间,不够再加

7.安装proto3[大部分安装失败都是因为这个玩意的问题,强烈推荐官方安装方法,要相信谷歌爸爸是不会坑你的!!!]

src/cartographer/scripts/install_proto3.sh
sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
#如果你的版本是基于ubuntu16.04的kinetic
#就写rosdep install --from-paths src --ignore-src --rosdistro=kinetic -y

如果出现这个错误的话,如果没问题就跳过这一步

ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies (ROS distro is not set. Make sure `ROS_DISTRO` environment variable is set, or use `--rosdistro` option to specify the distro, e.g. `--rosdistro indigo`):

就用这个命令

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y这个如果执行完成就会显示:

#All required rosdeps installed successfully

8.编译

catkin_make_isolated --install --use-ninja
source install_isolated/setup.bash

9.补充:

  • 很多东西都是从github上拖回来的,由于众所周知的原因,下载速度极慢,大概4kb/s的样子.这里强烈推荐用4G流量开手机热点
  • TX2上要保持最少5G以上的空间用于编译
  • 如果出现一些和网络有关的错误,同一条命令重试几次,还不行的话就等几秒再试,看脸.
  • 下载到一半卡了的话可以ctrl+c退出,再次执行会断点续传.

10.测试

#二维数据
https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag
#三维数据
https://storage.googleapis.com/cartographer-public-data/bags/backpack_3d/b3-2016-04-05-14-14-00.bag
 
#启动命令。
roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bag
roslaunch cartographer_ros demo_backpack_3d.launch bag_filename:=${HOME}/Downloads/cartographer_3d_deutsches_museum.bag

报错的话:
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc

 

 

更多推荐