我是装了双系统,实验OS:Ubuntu14.04

Installation: Plain CMake (No ROS)

首先,建立一个工作目录比如:workspace,然后把下面的需要的都在该目录下进行.

(tip:一定不要使用中文名字,尽管你的系统是中文默认的名字。不然下面的依赖项将会十分困难,cmake找不到配置文件。)

mkdir workspace
cd workspace

Boost - c++ Librairies (thread and system are needed)

sudo apt-get install libboost-all-dev

Eigen 3 - Linear algebra

apt-get install libeigen3-dev

OpenCV - Computer vision library for loading and displaying images(我下载的是OpenCV3.0)

mkdir build
cd build
cmake ..
make

Sophus - Lie groups

cd workspace
git clone https://github.com/strasdat/Sophus.git
cd Sophus
git checkout a621ff
mkdir build
cd build
cmake ..
make

如果此时遇到了“unit_complex_.imag() = 0."的错误,需要改代码为:”unit_complex_.imag(0.)“

Fast - Corner Detector

cd workspace
git clone https://github.com/uzh-rpg/fast.git
cd fast
mkdir build
cd build
cmake ..
make

g2o - General Graph Optimization OPTIONAL

耐心和细心,G2O的每个版本的依赖项很复杂,需要耐心看版本号。不然错误很多都摸不到头脑了。之前在网上也是看了很多博客,并没有真正的解决依赖项的问题。下面我整理自己做的过程,完整正确版本。

首先安装g2o的依赖项:

sudo apt-get  install cmake libeigen4-dev libsuitesparse-dev, qt4-qmake libqglviewer-dev libsuitesparse-dev libcxsparse3.1.2  libcholmod-dev

然后进行下载,编译等:

cd workspace
git clone https://github.com/RainerKuemmerle/g2o.git
cd g2o
mkdir build
cd build
cmake ..
make
sudo make install

vikit_common - Some useful tools that we need

vikit包含相机模型,SVO需要的一些数学和插值函数。

cd workspace
git clone https://github.com/uzh-rpg/rpg_vikit.git

rpg_vikit/vikit_common/CMakeLists.txt 文件中设置 USE_ROS 为FALSE.

cd rpg_vikit/vikit_common
mkdir build
cd build
cmake ..
make

SVO

cd workspace
git clone https://github.com/uzh-rpg/rpg_svo.git
cd rpg_svo/svo

在文件 svo/CMakeLists.txt中,设置USE_ROS 为 FALSE.

mkdir build
cd build
cmake ..
make

Run SVO without ROS

首先,创建一个存储数据的文件夹:

mkdir Datasets

然后设置一个环境变量去存储路径

export SVO_DATASET_DIR=${HOME}/Datasets

执行脚本.bashrc,然后进去新文件夹下面去下载测试数据

source ~/.bashrc
cd ${SVO_DATASET_DIR}
wget http://rpg.ifi.uzh.ch/datasets/sin2_tex2_h1_v8_d.tar.gz -O - | tar -xz

然后在测试数据上面运行SVO即可:

cd svo/bin
./test_pipeline

SVO环境搭建的更多相关文章

  1. .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...

  2. Azure Service Fabric 开发环境搭建

    微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...

  3. rnandroid环境搭建

    react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...

  4. python开发环境搭建

    虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...

  5. springMVC初探--环境搭建和第一个HelloWorld简单项目

    注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—& ...

  6. 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~

    一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...

  7. Nexus(一)环境搭建

    昨天,成功搭建了自己的 Maven 环境(详见:Maven(一)环境搭建),今天就来研究和探讨下 Nexus 的搭建! 使用背景: 安装环境:Windows 10 -64位 JDK版本:1.7 Mav ...

  8. 「译」JUnit 5 系列:环境搭建

    原文地址:http://blog.codefx.org/libraries/junit-5-setup/ 原文日期:15, Feb, 2016 译文首发:Linesh 的博客:环境搭建 我的 Gith ...

  9. appium+robotframework环境搭建

    appium+robotframework环境搭建步骤(Windows系统的appium自动化测试,只适用于测试安卓机:ios机需要在mac搭建appium环境后测试) 搭建步骤,共分为3部分: 一. ...

随机推荐

  1. Less的内置函数

    杂项函数 color 解析颜色,将代表颜色的字符串转换为颜色值. 参数: string: 代表颜色值的字符串. 返回值: color 案例: color("#aaa"); 输出: ...

  2. Less的@import指令

    Less的@import指令 Less中,可以通过 @import指令来导入外部文件.@import指令可以放在代码中的任何位置,导入文件时的处理方式取决于文件的扩展名: 如果扩展名是 .css,文件 ...

  3. IPv6 VS IPv4,谈谈升级 IPv6 的必要性

    11月26日,中办.国办印发了<推进互联网协议第六版(IPv6)规模部署行动计划>,提出国内要在 5~10 年的时间形成下一代互联网自主技术体系和产业生态,建成全球最大规模的 IPv6 商 ...

  4. Float精度丢失

    BigDecimal _0_1 = new BigDecimal(0.1); BigDecimal x = _0_1; for(int i = 1; i <= 10; i ++) { Syste ...

  5. 51Nod1136--欧拉函数

    1136 欧拉函数 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目.此函数以其首名研究者欧拉命 ...

  6. C# Value type vs Reference type

    [MY NOTE]   [转载请注明出处] Reference Source: http://www.albahari.com/valuevsreftypes.aspx http://www.c-sh ...

  7. mongoDB之集合操作

    mongoDB之集合操作 mongoDB中的集合相当于mysql中的表. mongoDB中集合的创建: 第一种方式:不限制集合大小   db.createCollection("集合名称&q ...

  8. pl/sql中if的用法

    /*判断用户从键盘输入的数字1.如何使用if语句2.接收一个键盘输入(字符串)*/set serveroutput on--接收一个键盘输入--num:一个地址值:含义:在该地址上保存了输入的值acc ...

  9. Python笔记·第六章——字典 (dict) 的增删改查及其他方法

    字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可 ...

  10. Unix:关于一个file在file system和disk中占用空间

    參考文献: Harley Hahns:Guide to Unix and Linux. Chap 24 -->首先要有的关键概念:the amount of "disk space&q ...