ways one

链接: https://pan.baidu.com/s/1ZAkeD64wjFsDHfpCm1CB1w
提取码: kxx2 (downloads and use idirectly)

ways two:

[SVO2-OPEN: https://github.com/uzh-rpg/rpg_svo_pro_open](https://github.com/DEARsunshine/rpg_svo_pro_open)

git挂梯子

如果各位终端无法挂梯子,直接下载我在码云上整理好的代码:

第一种编译方式:

git clone https://gitee.com/ma_yu_armor/svo2_build.git

第二种编译方式:

git clone -b method2 https://gitee.com/ma_yu_armor/svo2_build.git
Install
The code has been tested onUbuntu 20.04 with ROS MelodicInstall dependencies
Install catkin tools and vcstools if you haven't done so before. Depending on your operating system, run

For Ubuntu 20.04 + Noetic

sudo apt-get install python3-catkin-tools python3-vcstool python3-osrf-pycommon
Install system dependencies and dependencies for Ceres Solver

system dep.

sudo apt-get install libglew-dev libopencv-dev libyaml-cpp-dev

Ceres dep.

sudo apt-get install libblas-dev liblapack-dev libsuitesparse-dev
Clone and compile
Create a workspace and clone the code (ROS-DISTRO=melodic/noetic):

意思是将下面出现的替换成你ROS的名称(18为"melodic",20为"noetic")

创建工作空间

mkdir svo_pro_ws && cd svo_pro_ws

catkin相关配置

see below for the reason for specifying the eigen path

catkin config --init --mkdirs --extend /opt/ros/<ROS-DISTRO> --cmake-args -DCMAKE_BUILD_TYPE=Release -DEIGEN3_INCLUDE_DIR=/usr/include/eigen3

下载原码

cd src
​
git clone git@github.com:uzh-rpg/rpg_svo_pro_open.git
vcs-import < ./rpg_svo_pro_open/dependencies.yaml


#这样可以不编译,如果要打开全局重定位功能需要删除,后面有交代,先这么写

touch minkindr/minkindr_python/CATKIN_IGNORE

注意:git clone git@github.com:uzh-rpg/rpg_svo_pro_open.git…会失败,原因是使用git@…方式克隆需要私钥,人生苦短,不用配置,用https://github.com/uzh-rpg/rpg_svo_pro_open.git 代替。同理后面的…vcs-import < ./rpg_svo_pro_open/dependencies.yaml意思是clone dependencies.yaml里面罗列的地址的一系列库,但是打开会发现也是用git@写的,将地址按如下方式替换:

repositories:catkin_simple:type: git#url: git@github.com:catkin/catkin_simple.git~~url: https://github.com/catkin/catkin_simple.gitversion: mastercmake_external_project_catkin:type: git#url: git@github.com:zurich-eye/cmake_external_project_catkin.git~~url: https://github.com/zurich-eye/cmake_external_project_catkin.gitversion: master
......

将这个文件复制出来(置于src/中),删除其他文件,重新执行命令。终端需要挂梯子!!!

如果实在不行,可以到我的gitee上下载(见开头),里面包含了所有库(包括后面要用的gtsam)

git clone https://github.com/uzh-rpg/rpg_svo_pro_open.git
vcs-import < dependencies.yaml

继续安装

vocabulary for place recognition 这句不需要代理,新开终端,下完关掉

cd rpg_svo_pro_open/svo_online_loopclosing/vocabularies && ./download_voc.sh
cd ../../..

在开始编译之前,可以发现src/dbow2_catkin/CmakeList.txt中这样写道(同样的需要修改git地址):

ExternalProject_Add(dbow2_src#GIT_REPOSITORY git@github.com:dorian3d/DBoW2.gitGIT_REPOSITORY https://github.com/dorian3d/DBoW2.gitCMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CATKIN_DEVEL_PREFIX}BUILD_COMMAND CXXFLAGS=-i${CATKIN_DEVEL_PREFIX}/include makeINSTALL_COMMAND make install
)

至此安装工作完成

编译
这里有两种编译方式,建议按照顺序都尝试一下,这样一旦出问题,更好解决。

  1. 直接编译 Build without the global map (front-end + sliding window back-end + loop closure/pose graph)
catkin build -j8

缺少库:

cd src/
git clone https://github.com/ethz-asl/catkin_boost_python_buildtool.git
git clone https://github.com/ethz-asl/numpy_eigen.git

该开源项目是基于Opencv3写的,本人电脑里装了4(ros自带3),故在src/rpg_svo_open/svo_ros/CmakeList.txt中,修改如下内容:

find_package(catkin_simple REQUIRED)
find_package(rostest REQUIRED)
catkin_simple()
#find_package(OpenCV REQUIRED)  #会默认找到Opencv4
find_package(OpenCV 3 REQUIRED) #指定OpenCv3

2.第二种编译方式Build with the global map using iSAM2 (all functionalities)
首先把上面提到的阻止svo_global_map编译的CATKIN_IGNORE删除

rm rpg_svo_pro_open/svo_global_map/CATKIN_IGNORE

并且在svo_cmake/cmake/Modules/SvoSetup.cmake中:

SET(USE_GLOBAL_MAP TRUE)
克隆GTSAM (与其他pkg在同一目录内)

git clone --branch 4.0.3 https://github.com/borglab/gtsam.git

修改cmakelist

1. gtsam/CMakelists.txt: use system Eigen

-option(GTSAM_USE_SYSTEM_EIGEN "Find and use system-installed Eigen. If 'off', use the one bundled with GTSAM" OFF)
+option(GTSAM_USE_SYSTEM_EIGEN "Find and use system-installed Eigen. If 'off', use the one bundled with GTSAM" ON)

2. gtsam/cmake/GtsamBuildTypes: disable avx instruction set

below the line `list_append_cache(GTSAM_COMPILE_OPTIONS_PUBLIC "-march=native")
list_append_cache(GTSAM_COMPILE_OPTIONS_PUBLIC "-mno-avx")

这种boost报错的问题一般大家是不会有的,因为我之前装了很多boost版本才会导致这样的问题。将boost全部删除干净,使用ros-melodic中自带的boost(version 1.65)即可。但是某些小伙伴可能会出现找不到boost的情况。首先检查是否安装。

sudo apt-get install libboost-all-dev

如果问题还不能够解决,那就是gtsam在找boost的时候路径出了问题。它默认到/usr/local/中去找,然而ros中的boost位于/usr中。与gtsam的CmakeList中指定boost路径如下(大约在165行):

Store these in variables so they are automatically replicated in GTSAMConfig.cmake and such.

set(BOOST_FIND_MINIMUM_VERSION 1.43)
set(BOOST_FIND_MINIMUM_COMPONENTS serialization system filesystem thread program_options date_time timer chrono regex)
set(BOOST_ROOT "/usr/include") #加上这行
set(BOOST_LIBRARYDIR "/usr/include/lib") #和这行
#add_definitions(-DBOOST_ERROR_CODE_HEADER_ONLY)#myk

终于编译通过!

【SVO2.0 安装编译】Ubuntu 20.04 + Noetic相关推荐

  1. stm32mp157a-dk1 编译 Ubuntu 20.04固件

    文章目录 前言 流程 开机 探索 dmesg 参考 前言 前几篇用Buidroot搞的都是近乎纯净版的系统, 开机极快(~5s), 根文件系统占用极小(<10M), 纯净就意味着功能少, 很多东 ...

  2. Windows 10安装 WSL2 (Ubuntu 20.04)

    条件 对于 x64 系统:版本 1903 或更高版本,采用 内部版本 18362 或更高版本. 对于 ARM64 系统:版本 2004 或更高版本,采用 内部版本 19041 或更高版本. 低于 18 ...

  3. 刚刚安装的ubuntu 20.04.1连接不上网络

    这里写自定义目录标题 问题 解决方法 问题 刚刚下载了ubuntu系统,在学习linux相关指令时,发现没有tree命令,按照提示进行命令行下载时,显示"暂时不能解析域名cn.archive ...

  4. Install cuDNN v8.0.5 in ubuntu 20.04

    what: NVIDIA cuDNN是用于深度神经网络的GPU加速库.cuDNN安装很简单,就是将解压的文件放到指定位置即可. why: GPU acceleration for DNN how: c ...

  5. PaddleFL 1.2.0版本 使用docker镜像编译流程(Ubuntu 20.04)

    宿主机环境:centos 目前测试Ubuntu 20.04下也可编译 中间可能会遇到多次fatal:unable to access 'https://github.com/........',多试几 ...

  6. 在Ubuntu 20.04上安装ROS Noetic

    ROS Noetic & Ubuntu 20.04 机器人操作系统(ROS 或小写 ros)是最广泛使用的机器人编程框架,超过 50% 的机器人在 ROS 上运行.针对 Ubuntu 20.0 ...

  7. Ubuntu 20.04配置ORB-SLAM2和ORB-SLAM3运行环境+ROS实时运行ORB-SLAM+Gazebo仿真运行ORB-SLAM2+各种相关库的安装

    文章目录 一.换源 1.1 通过软件更新 1.2 通过修改源文件 二.安装三方库 2.1 安装必要的依赖项 2.2 安装Pangolin 2.3 安装OpenCV3 2.4 安装Eigen3 三.安装 ...

  8. 在Ubuntu 20.04中安装Pycharm 2020.1

    前几天,我们用虚拟机安装了Ubuntu 20.04.今天,我们来安装一些常用的工具,比如Pycharm. Pycharm是一种用来开发Python的IDE,归结两个字,好用! 下载 Pycharm 官 ...

  9. 基于imx8m plus开发板全体系开发教程3:Ubuntu 20.04 编译

    前言: i.MX8M Plus 开发板是一款拥有 4 个 Cortex-A53 核心,运行频率 1.8GHz;1 个 Cortex-M7 核心,运行频率 800MHz;此外还集成了一个 2.3 TOP ...

最新文章

  1. Win7下基于消息安全模式的WCF托管(IIS与WinForm)
  2. 【五线谱】拍号与音符时值 ( 五线谱拍号 | 全音符休止符 | 二分音符休止符 | 四分音符休止符 | 八分音符休止符 | 十六分音符休止符 | 三十二分音符休止符 )
  3. Android 应用 之路 百度地图API使用(3)
  4. java程序设计与实践教程 王薇 doc_Java程序设计与实践教程 王薇主编 答案
  5. Ant Design Pro 修改title
  6. 政府工作报告:让更多科研人员可以“十年磨一剑”
  7. AdamOptimizer和随机梯度下降法SGD的区别
  8. 为什么人们常说“十个创业九个死”?
  9. 点击button后改变文字_24. 教你零基础搭建小程序:小程序的常见组件(5)— button标签...
  10. AMD规范和requirejs入门
  11. 关于mysql性能优化_关键的十个MySQL性能优化技巧
  12. 项目管理知识领域--十大知识领域
  13. 原型工具Axure:通用操作(快捷键、常用元件、常用交互、元件库与母版、原型规范、小记)
  14. 计算机excel数据标签,excel散点图数据标签,Excel如何设置散点图标签
  15. 设备管理是对计算机什么的系统管理,什么是指对计算机系统所有的外部设备的管理...
  16. HTML页面格式化(CSS)
  17. 房多多,没有拼多多的命
  18. 【程序员股民系列】如何用python, pandas, numpy, matplotlib绘制每日行业成交额图
  19. 旅游行业APP开发方案
  20. python求多叉树任意两点之间的距离

热门文章

  1. python正确的变量名称_Python基础之变量的命名
  2. c语言程序中变量先引用声明,C语言如何跨文件调用函数定义中声明的变量
  3. 服务器开机只显示cdm,电脑开机黑屏出现cdm.exe对话框怎么处理?!我的扣扣
  4. 使用OpenCV,Numpy计算直方图,Matplot绘制直方图及分析
  5. Image Processing图像处理(对比俩张图像的差异并且在图上标注出来)
  6. CS131专题-6:图像特征(Blob检测、LoG算子、Harris-Laplacian)
  7. 计算机导论excel,[计算机导论实验三Excel.doc
  8. 二、深度学习数据增强方法汇总
  9. python argv 详解_Python3 sys.argv[ ]用法详解
  10. Copy复制命令兼容各种浏览器(等同于触发Ctrl+C或者Command⌘+C)