博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
maplab(1):安装
阅读量:2383 次
发布时间:2019-05-10

本文共 2697 字,大约阅读时间需要 8 分钟。

前言

maplab是一个开源的VI-SLAM(视觉惯性-即时定位与地图构建)框架。它由著名的ETH Zurich, Autonomous Systems Lab(苏黎世联邦理工学院自动系统实验室)开发,包含了视觉SLAM相关的多种算法与工具:在线VIO(视觉惯性里程计),进行在线位姿估计并创建地图;在线VI-Localization(视觉惯性定位),进行基于地图的全局无漂移视觉定位;地图管理,用于修改和维护地图,包括地图合并,稀疏化,地点识别和可视化。

接下来我会根据maplab的wiki实现其功能,并尽可能的剖析其理论,首先带来maplab的安装。

安装

参考:。

安装所需的系统包

安装ROS

如果已经安装ROS,执行以下命令即可。

sudo apt install ros-indigo-tf2-* ros-indigo-camera-info-manager*

如果没有安装ROS,则根据自己的系统和ROS版本操作:

# Install ROS export UBUNTU_VERSION=xenial #(Ubuntu 16.04: xenial, Ubuntu 14.04: trusty, Ubuntu 18.04: bionic)export ROS_VERSION=kinetic #(Ubuntu 16.04: kinetic, Ubuntu 14.04: indigo, Ubuntu 18.04: melodic)# NOTE: Follow the official ROS installation instructions for melodic.sudo apt install software-properties-commonsudo add-apt-repository "deb http://packages.ros.org/ros/ubuntu $UBUNTU_VERSION main"wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -O - | sudo apt-key add -sudo apt updatesudo apt install ros-$ROS_VERSION-desktop-full "ros-$ROS_VERSION-tf2-*" "ros-$ROS_VERSION-camera-info-manager*" --yes

安装框架依赖项

# Install framework dependencies.# NOTE: clang-format-3.8 is not available anymore on bionic, install a newer version.sudo apt install autotools-dev ccache doxygen dh-autoreconf git liblapack-dev libblas-dev libgtest-dev libreadline-dev libssh2-1-dev pylint clang-format-3.8 python-autopep8 python-catkin-tools python-pip python-git python-setuptools python-termcolor python-wstool libatlas3-base --yessudo pip install requests

更新ROS环境

如果已经安装ROS,可跳过。

sudo rosdep initrosdep updateecho ". /opt/ros/$ROS_VERSION/setup.bash" >> ~/.bashrcsource ~/.bashrc

创建catkin工作空间

1.创建工作空间

export ROS_VERSION=kinetic #(Ubuntu 16.04: kinetic, Ubuntu 14.04: indigo)export CATKIN_WS=~/maplab_wsmkdir -p $CATKIN_WS/srccd $CATKIN_WScatkin initcatkin config --merge-devel # Necessary for catkin_tools >= 0.4.catkin config --extend /opt/ros/$ROS_VERSIONcatkin config --cmake-args -DCMAKE_BUILD_TYPE=Releasecd src

2.下载maplab和maplab_dependencies

git clone https://github.com/ethz-asl/maplab.git --recursivegit clone https://github.com/ethz-asl/maplab_dependencies --recursive

3.编译maplab

cd $CATKIN_WScatkin build maplab

在这里一般会遇到问题,大多是由于网络问题导致无法下载文件。

但是我用的ipv6,下载没有问题。
如果下载有问题,最简单的方法就是科学上网,或者参考其他博客提供的方法。
遇到的错误
~/maplab_ws/build/opencv3_catkin/opencv3_src/cmake/OpenCVCompilerOptions.cmake
/usr/local/libcmake/Ceres/CeresConfig.cmake报以下错误:

A duplicate ELSE command was found inside an IF block.

~/maplab_ws/build/opencv3_catkin/opencv3_src/cmake/OpenCVFindIPP.cmake也报一个错误,不过我没记住。

解决方法
注释掉对应行即可,不确定是不是作者写错了,或者会潜在地造成某些影响,反正最后编译通过了,所以就先这样吧,遇到问题再处理。
编译时间较长,请耐心等待,这是我遇到的编译时间最长的工程,不过离深度学习训练数据集还远着呢。

终端输出以下内容才表明编译成功:

[build] Abandoned: None.

[build] Failed: None.

编译成功的终端截图如下:

你可能感兴趣的文章
libxml2.dylb 添加后找不到<libxml/tree.h> 头文件
查看>>
关于 [[self class] alloc]的理解
查看>>
Eclipse导入Web项目后代码不报错但项目报错(左上角有红叉)解决方案
查看>>
List、Set、数据结构、Collections
查看>>
Sudoku Solver
查看>>
Combination Sum
查看>>
First Missing Positive
查看>>
Trapping Rain Water
查看>>
Permutation Sequence
查看>>
Valid Number
查看>>
Text Justification
查看>>
Simplify Path
查看>>
Add Two Numbers
查看>>
Longest Substring Without Repeating Characters
查看>>
Median of Two Sorted Arrays
查看>>
Search for a Range
查看>>
罗马数字与阿拉伯数字的相互转化
查看>>
3Sum
查看>>
Next Permutation
查看>>
sys文件系统
查看>>