【SLAM】SLAM环境配置(Win10_x64+VS2015_x64)

最近想要进行基于图像序列的三维重建研究,首先的想法就是采用SLAM方法进行地图重建。在网上很容易找到了大神"半闲居士"的博客《一起做RGB-D SLAM》系列,大神的博客循序渐进,最终完成一个简单、完整的SLAM程序。虽然其中有些部分还没有搞的太明白,但较之前的小白有了质的提升。

接下来将要写下进行SLAM程序编写中的环境配置心得(大神"半闲居士"是在Linux下进行的,而我将要在windows下进行,其中大部分过程相同,有极小部分不同,推荐大家先看完大神的一起做RGB-D SLAM》系列

首先,我们都需要什么:

1. OpenCV    图像处理库 (毕竟我们是基于图像的)

2. PCL           点云库

 2.1. Boost

 2.2. Eigen

 2.3. FLANN

 2.4. OpenNI2

 2.5. Qhull

 2.6. VTK

(在这篇博客撰写之时 PCL库下载后就包括了  Boost、Eigen、FLANN、OpenNI2、Qhull、VTK等库所以我们就不用操心太多了,否则将会是一个浩大的工程)

3. g2o        通用图优化(这个配起来是真的烦)

 3.1 cmake       对源码进行编译生成基于我们系统和编译器的工程,对形成的工程进行编译获得最终我们使用的库

                                (include、lib、dll)

 3.2. suitesparse

 3.3. Qt

 3.4. libQGLViewer

 

 

接下来我们开始一个库一个库的进行生成(其中版本是我所用的版本),我们最终在程序中使用的是库的include、lib和dll文件(配置过程请关闭你的360等安全软件)

 

1. OpenCV  版本 2.4.13.5 

(虽然opencv已经有OpenCV 3.x.x 版本,但其函数接口对于 2.4.x版本有较大改动,容易与其他 库不匹配)

首先,去OpenCV官网下载

https://opencv.org/releases.html

下载 2.4.13.5 的Win pack , 将会得到一个 opencv-2.4.13.5-vc14.exe ,运行它相当于一个解压的过程,安装在你想要安装的地方,例如  D:\Lib\,建议在磁盘根目录下新建文件夹 Lib,将你所能用到的库都放在该目录下)。 安装完成后,你会得到一个opencv文件夹,文件夹下包含一个build文件夹和一个source文件夹(建议将opencv文件夹改名为opencv24135,因为有可能你今后会下载多个版本的库,做一个区分),其中我们所要用到的东西在build文件夹下。这样OpenCV就安装好了,使用OpenCV库就在D:\Lib\opencv24135

然后我们进行下配置

(1)添加环境变量(关掉vs),在  此电脑-->属性-->高级系统设置-->环境变量 对话框的下面 “系统变量(S)”里找到 Path 双击 在弹出的“编辑环境变量”中单击 新建 将你所用到的opencv库的dll文件夹地址添加到新的环境变量中 

如:D:\Lib\opencv24135\build\x64\vc14\bin             

( 一般的库会包括 x86、x64、debug、release的选择 我们所配置的是x64的debug版本,之后提到的安装均如此  如果想使用x86 或release 就将相应的文件夹添加到环境变量,如:D:\Lib\opencv24135\build\x86\vc14\bin )

(2)到此opencv库配置已经完成,如果想在工程中使用该库 就在你工程的属性中 的   VC++路径  选项内的  include路径  和lib路径  添加你的opencv库路径 ,并将你所用到的lib名称添加到 Linker 的Input 中的addition dependencies(附加依赖项)中。这时你就可以尽情使用opencv了。详细图文方法可在网上搜opencv环境配置。(注意 他的版本与我的不同 .lib用自己的版本,而且 她采用的是配置属性表 我是在工程的属性中修改,我采用的方法在每新建一次工程都需要从新配置)

如 Include Directories:  D:\Lib\opencv24135\build\include 

    Library Directories:   D:\Lib\opencv24135\build\x64\vc14\lib

    Addition dependencies

opencv_calib3d2413d.lib
opencv_contrib2413d.lib
opencv_core2413d.lib
opencv_features2d2413d.lib
opencv_flann2413d.lib
opencv_gpu2413d.lib
opencv_highgui2413d.lib
opencv_imgproc2413d.lib
opencv_legacy2413d.lib
opencv_ml2413d.lib
opencv_nonfree2413d.lib
opencv_objdetect2413d.lib
opencv_ocl2413d.lib
opencv_photo2413d.lib
opencv_stitching2413d.lib
opencv_superres2413d.lib
opencv_ts2413d.lib
opencv_video2413d.lib
opencv_videostab2413d.lib

 

2. PCL  版本PCL1.8.0

下载 PCL 1.8.0 All-in-one Installer MSVC2015 x64

地址:http://unanancyowen.com/en/pcl18/

具体配置请看 gakki_Yuibo 的 《VS2015配置PCL1.8.0详细教程》+bohaijun_123的 《win7下的PCL1.8-X64-VS2015配置(内含下载链接)》 (20181130后记  已经出了PCL181 使用PCL181进行配置没有问题出现 推荐采用PCL181)

 

(我是真的懒,看看有空的时候做一遍补上)

 

当然,以我的性格 我将PCL安装到了 D:\Lib\PCL180 下,文件夹下包括了 3rdParty 这下面包含了 上面提到的Boost、Eigen、FLANN、OpenNI2、Qhull、VTK库。

 

3. G2O   (复杂的地方来了)版本 master

下载 g2o-master.zip   (Clone or download -->Download ZIP)

地址:https://github.com/RainerKuemmerle/g2o

具体配置请看

shadingwalker 《Windows+Visual Studio下生成g2o库教程(结合Cholmod库)》

cc_sunny 的《关于SLAM的那些事——通用图优化(G2O)环境搭配(windows8.1 vs2013)》

这里做下说明 基本上可以按照cc_sunny的博文进行,但是shadingwalker添加了Cholmod库,有很大机率在以后会用到 所以建议加入Cholmod库。所以,我们先看shadingwalker的文章添加 suitesparse库。

 

3.1 Cmake 版本 3.6.0(这个下载安装最新版即可)

下载 cmake-3.6.0-rc4-win64-x64.msi    (下载二进制包 不要下载源码 , .msi文件  目前已经到3.10.2)

地址:https://cmake.org/download/

cmake下载后安装即可(最好是以管理员身份运行.msi文件进行安装,打开软件也最好以管理员身份运行,Win10对C盘的保护 很强,如果你在配置过程中需要往C盘写入文件,当你不是管理员身份运行时有可能会出现意外的错误)

 

3.2  suitesparse

版本 1.3.0

地址:https://github.com/jlblancoc/suitesparse-metis-for-windows/tree/v1.3.0

这里由于我们已经配好了PCL库 其中就已经有了Eigen库 就不用另行下载了  在D:\Lib\PCL\3rdParty\Eigen (我试过采用自己下载的最新版本Eigen库,Cmake g2o 的工程编译会出错)

 

3.3 Qt 版本 5.10 (不是Qt语音软件,这是一个跨平台编译器)

下载并安装: qt-opensource-windows-x86-5.10.0.exe   (不知道为啥没有64位的 网上查貌似 x86都可以用)

地址:http://download.qt.io/archive/qt/5.10/5.10.0/

 

下载并安装:qt-creator-win-opensource-2.5.2.exe

地址:http://download.qt.io/archive/qtcreator/2.5/

 

下载:qt-vs-tools-msvc2015-2.1.1.vsix

地址:http://download.qt.io/archive/vsaddin/

 

新版本qt-vs-tools在vs2015下的名字是 Qt VS Tool

 

3.4  libQGLViewer 版本  2.7.1

下载:libQGLViewer-2.7.1.zip

地址:http://libqglviewer.com/installWindows.html

解压后我们用vs2015打开(左上角Qt VS Tool -> 打开工程)  .pro文件   然后进行生成

以上3.1、3.2、3.3、3.4完成后开始进行g2o的编译生成

这里我说下Cmake  以我理解的来说  他是通过一些源文件及配置参数 来生成不同编译平台的 工程文件  如VS中生成.sln

其中 where is the source code:   是你下载的文件 文件夹下你能看到  CMakeList.txt文件 

其中where to build the binaries:  是你即将生成的工程的文件夹 (最后生成的库不在这里,最后我们想要的lib及dll将在你生成 工程后出现,出现的位置如果没有生成INSTALL则在你工程的debug或release下,如果进行生成了INSTALL,则在你进行Cmake时 CMAKE_INSTALL_PREFIX 所给的路径  )

当配置好 where is the source code:   where to build the binaries:  单击 configure 会读入并配置你Cmakelist中的参数 你需要配置cmake没有自动获得的参数路径 (通常为红色),下方的输出提示会提示你缺少哪些路径,配置好后再次点击configure如果成功会是白色,下方也没有红色的提示输出,当存在空路径时 参数项会是红色,需要继续进行配置,知道没有红色出现时,单击Generate进行生成

当g2o cmake成功后, 在输出的项目文件下下 单击 .sln 后进行生成 

注意:我编译时 会出现 Matrix 没有定义的情况,这需要你进入错误的cpp中 将 Matrix前 加上 Eigen::   为 Eigen::Matrix

 

g2o实践代码报错(linearSolver)解决方法

 

(时间有限 先这样 以后修改补充)

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章