自动驾驶 在TX2上部署激光雷达slam算法cartographer[官方版]
·
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
更多推荐

所有评论(0)