SLAM学习笔记②:ORBSLAM2+ROS+D435环境配置

简单而基础的博客。(菜鸟境内,大佬绕行ヾ(๑╹◡╹)ノ")

目录

首先安装git

编译器安装gcc7和g++7

安装CMake

安装IDE:kdevelop

Eigen3.3.7安装

Eigen3.1.0安装

OpenCV3.4.1安装

Sophus安装

安装PCL库

Ceres安装

g2o安装

Pangolin0.6安装

glfw3安装

DBoW3安装

Octomap安装


首先安装git

sudo apt-get install git

编译器安装gcc7和g++7

版本重要但是也没那么重要,因为这个的版本很好改,你下好对应版本的编译器后,直接去手动更改编译器版本就行,网上大把教程。

sudo apt-get install gcc-7
sudo apt-get install g++-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100
sudo update-alternatives --config gcc
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 100
sudo update-alternatives --config g++

这里讲个快捷键,当时我学的时候没有教程讲,估计是因为太基础大家都默认知道。在终端里面快捷键粘贴是Ctrl+shift+V。我当时傻乎乎的一直用鼠标复制粘贴。

前面两句话的意思是添加源更新软件目录,如果你报错的话,直接进行下面的操作也行,反正大部分Ubuntu应该都有安装gcc和g++的源,在你安装Ubuntu的时候应该就会有人提醒你换国内源。

然后查看一下版本对不对就知道是否安装成功。

gcc --version
g++ --version

安装CMake

Ubuntu下的CMake下载还是很友好的,直接终端输入命令就行,不像Windows好麻烦的。

sudo apt-get install cmake

安装IDE:kdevelop

这个IDE有点小麻烦,安装的时候可能会出一些bug,后续的使用也是。

sudo apt-get install kdevelop

kdevelop也是高翔博士的《SLAM十四讲》里面使用的IDE,其实这个系列安装完虚拟机Ubuntu之后应该先去讲《SLAM十四讲》的,但是那个高翔博士自己拍的视频是好久之前的了,新的书也是19年就出了,各种库都和现在的不一样了,总之就是各种bug各种麻烦,所以就先跳过了,但是如果是初学者还是要先看《SLAM十四讲》比较好。

我的kdevelop是汉化了的,虽然大佬说尽量不要汉化,但是汉化了还是会便利不少的。嘛~主要是下载下来它自己就是汉化的,如果没有汉化也不要紧,锻炼英语能力嘛~(^_−)☆

好了,以上是可以直接在终端安装的东西,接下来的不是说不能在终端安装,而是终端只会给你安装最新的,但是不管是《SLAM十四讲》还是ORB_SLAM2所依赖的库都是老版本,所以建议自己去官网下载对应版本的库然后通过代码编译安装

Ubuntu20.04我成功的版本是Eigen3.1.0+pangolin0.6

好吧,按照完美情况应该是直接安装Eigen3.1.0的,但是,PCL可以安装的版本似乎都有点嫌弃这个低版本的Eigen,我只好举起双手投降┗( ´・∧・`)┛。那就只能先安装高版本的Eigen把PCL糊弄过去再说了。之后再更换版本吧。当然换了版本应该会影响到PCL,这个那就没办法了,毕竟我需要做的部分换版本后也没出问题。

Eigen3.3.7安装

这个是Eigen下载的网址http://eigen.tuxfamily.org/index.php?title=Main_Page

在上面找到你想安装的版本下载

下载完毕后解压,进入解压后的文件夹在终端打开。

mkdir build && cd build
cmake ..
sudo make install

Eigen3.1.0安装

解压相应的压缩包,然后进入解压后的文件夹,在终端打开。

mkdir build && cd build
cmake ..
sudo make install

学过C++的都知道“&&”就是“and”的意思,第一段命令的意思就是创建文件夹并进入。

执行完这些之后,Eigen3.1.0就已经安装好了。它的头文件在/usr/local/include/eigen3/

但是大部分代码包含头文件都是直接#include <Eigen/XXX>所以最好把这个Eigen复制到include文件夹下,当然,如果你乐意每次使用到Eigen的时候在前面写一句#include <eigen3/Eigen/XXX>也没问题。

sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include

然后可以使用pkg-config --modversion eigen3来查看一下Eigen的版本。

OpenCV3.4.1安装

其实OpenCV的安装很简单,版本的话也没什么要求大于2.4.3就好,因为这个更改ORB_SLAM2的OpenCV版本要求很简单,你只需要在每个CMakeLists.txt里面find_package (OpenCV)的时候,把版本号从3.0改到4.0就行,不过我的话也不一定正确,因为我也就安装过3.4.1和4.5.5。为了保险还是认真选一下版本吧。

老样子,去OpenCV官网下载你想要的版本https://opencv.org/releases/

然后下载一下OpenCV的依赖项

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config

然后把刚刚下载的文件解压,进入到解压后的文件夹,在终端打开

mkdir build && cd build
sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo make -j8
sudo make install

make -j8代表同时运行8个线程进行make一般来说,这个数字是处理器的2倍。

在make的时候会出现一些werror的东西,我也不知道那是啥,但是没有影响,这个耗时蛮久,你可以去“欢迎来到wzny”一把,只要你记得回来就成。zhsxg就算了,用不了那么久。(看不懂?看不懂就对了,万一老师翻到我的博客咋办?00后的默契。o( ̄▽ ̄)d 。现在知道为什么说它耗时久了吧,要是耗时不久,我搁这逼逼叨叨个啥)

再就是make很吃运行内存,我以前用虚拟机make就经常卡死。

经过漫长的等待,make结束,然后进行安装

sudo make install

然后配置一下环境

用gedit打开/etc/ld.so.conf

在文件中加上一行 /usr/loacal/lib

运行sudo ldconfig

修改bash.bashrc文件

sudo gedit /etc/bash.bashrc 

在文件末尾加入:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

 然后在命令行中输入source /etc/bash.bashrc

然后使用pkg-config --modversion opencv查看一下版本号,就能确定OpenCV是不是安装好了。

Sophus安装

因为Eigen我们使用的是Eigen3.4.1,所以Sophus也不能是高版本的,我选择的是高翔老师《SLAM十四讲》提供的Sophus版本,具体多少我也不知道,你们可以自己去高翔老师的GitHub上找。

为什么我这里不给链接?因为我也没找到单独Sophus的下载链接,我是直接下载的高翔老师《SLAM十四讲》的所有代码,Sophus库在文件夹3rdparty里面。

这是整本书的链接https://github.com/gaoxiang12/slambook2

下载完毕后就解压,然后进入解压后的文件夹,在终端打开。

mkdir build
cd build
cmake ..
make -j8
sudo make install

Sophus是一个基于Eigen的库,基本上只有Eigen不出问题Sophus也不会出问题(反正我是没遇见过。)

安装PCL库

首先安装一些依赖项

sudo apt-get update  
sudo apt-get install git build-essential linux-libc-dev  
sudo apt-get install cmake cmake-gui   
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev  
sudo apt-get install mpi-default-dev openmpi-bin openmpi-common    
sudo apt-get install libflann1.9 libflann-dev  
sudo apt-get install libeigen3-dev  
sudo apt-get install libboost-all-dev  
sudo apt-get install libvtk6.3-qt libvtk6.3 libvtk6-dev  
sudo apt-get install libqhull* libgtest-dev  
sudo apt-get install freeglut3-dev pkg-config  
sudo apt-get install libxmu-dev libxi-dev   
sudo apt-get install mono-complete  
sudo apt-get install openjdk-8-jdk openjdk-8-jre 
sudo apt-get install libopenni-dev 
sudo apt-get install libopenni2-dev

好的~依赖项都已经安装完毕了,挑选一个你喜欢的文件夹从GitHub上gitPCL的库

git clone https://github.com/PointCloudLibrary/pcl.git
cd pcl 
mkdir release 
cd release
cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_GPU=ON-DBUILD_apps=ON -DBUILD_examples=ON \ -DCMAKE_INSTALL_PREFIX=/usr .. 
make  
sudo make install

如果在CMake过程报错No CMAKE_CUDA_COMPILER could be found.的话,就先运行下面这句话

export PATH=/usr/local/cuda/bin:$PATH

good,因为jetson板子的运行内存不够所以一直卡死,在增加虚拟内存后解决了该问题。不过该博客主要是虚拟机上的,就不做详细说明了。有兴趣的可以自己去查一下。

Ceres安装

首先安装一下依赖项

sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev 
sudo apt-get install libgoogle-glog-dev libgtest-dev

挑选一个喜欢的文件夹,从GitHub上git下来Ceres的库,然后编译安装

git clone https://github.com/ceres-solver/ceres-solver
mkdir build 
cd build
cmake ..
make -j
sudo make install

g2o安装

g2o的安装也需要先安装一下依赖项,虽然有不少依赖项我们之前其实已经反复安装过了,但是为了避免遗漏,多安装几次也没什么,反正他也不会安装多次。

sudo apt-get install libeigen3-dev libsuitesparse-dev qtdeclarative5-dev
sudo apt-get install qt4-dev  
sudo apt-get install qt4-qmake libcxsparse3.1.2 libcholmod-dev
sudo apt-get install libqglviewer-dev 

然后git文件,编译安装

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

如果说在安装依赖项的时候发现有些包你找不到,可以去这个网站上看一下你对应的Ubuntu版本还在维护的软件包名字https://packages.ubuntu.com/focal/libcxsparse3

Pangolin0.6安装

之后可能会重新安装一下

首先安装一些依赖项

sudo apt-get install libglew-dev
sudo apt-get install cmake
sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev

从这个链接里面下载Pangolin0.6https://codeload.github.com/stevenlovegrove/Pangolin/zip/refs/tags/v0.6

然后编译安装

mkdir build && cd build 
cmake ..
sudo make -j2
sudo make install

glfw3安装

首先安装一些依赖项

sudo apt-get install libxcursor-dev
sudo apt-get build-dep glfw
sudo apt-get install cmake xorg-dev libglu1-mesa-dev

去官网下载相应版本https://github.com/glfw/glfw

我安装的是3.3.7的

解压>>打开终端>>创建文件夹>>进入文件夹>>编译>>安装

mkdir build   
cd build    
cmake .. 
sudo make install  

DBoW3安装

从GitHub克隆安装,或者自己去GitHub下载安装

git clone https://github.com/rmsalinas/DBow3  
cd  DBow3
mkdir build   
cd build    
cmake .. 
sudo make install   

Octomap安装

啊~终于要结束了

安装一些依赖项

sudo apt-get install build-essential cmake doxygen libqt4-dev \
libqt4-opengl-dev libqglviewer-dev-qt4

git源码,然后安装

git clone https://github.com/OctoMap/octomap
mkdir build
cd build
cmake ..
make

OK~大概的环境配置就这么多了,啊~·真是累死了,下一个博客讲ROS的安装吧。或者直接去做ORBSLAM2?

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值