WHCSRL 技术网

ubuntu 20.04配置Elasticfusion及问题解决

环境配置中,占坑待梳理

源码:https://github.com/stevenlovegrove/Pangolin
参考:Elasticfusion三维重建配置说明

一、安装依赖项

1.1 Ubuntu 系统

首先是Ubuntu系统,这个不必多说。
我是从16.04最近才升级到了20.04,真香。

1.2 NVIDIA 驱动及 cuda

先确认下自己是够安装了NVIDIA驱动及其版本。

我之前是装过NVIDIA驱动的,可能因为

《ubuntu20.04下找不到NVIDIA相关命令》

1.3 更新大法

sudo apt-get update  
sudo apt-get upgrade
  • 1
  • 2

1.4 安装依赖包

sudo apt-get install cmake cmake-qt-gui git build-essential libusb-1.0-0-dev libudev-dev 
sudo apt-get install freeglut3-dev libglew-dev libsuitesparse-dev libeigen3-dev 
sudo apt-get install zlib1g-dev libjpeg-dev doxygen graphviz
  • 1
  • 2
  • 3

1.5 安装 Pangolin

源码:https://github.com/stevenlovegrove/Pangolin

git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build && cd build
cmake ..
make -j4
sudo make install
sudo ldconfig
#测试
ctest

cd ../.. #文件夹回退两层
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

1.6 安装 Openjdk

我选择了较高版本的

1.7 安装 OpenGL

二、Elasticfusion 主体

2.1 编译Core

2.2 编译GPUTest

2.3 编译GUI

cd GUI
mkdir build && cd build
cmake ../src
make -j4
cd ../..  #文件夹回退两层
  • 1
  • 2
  • 3
  • 4
  • 5

2.4 执行及效果

演示离线数据集下载

进入到 GUI/build 下,执行

 ./ElasticFusion -l dyson_lab.klg
  • 1

效果如下图所示,可在左侧导航栏中切换需要的表现形式。
请添加图片描述

请添加图片描述

三、遇到的 Error

3.1 error:unsupported GNU version! gcc versions later than 8 are not supported!

问题:gcc版本太高,需要安装主版本为8以下的。
迁移:g++同理,只需要将下面步骤中的gcc改为g++即可。

#1.安装依赖项
sudo apt-get install build-essential

#2.安装gcc-8
sudo apt-get install gcc-8
#(因为不想安装太低的版本,就可着边缘装了8,如果想安装更低版本的,甚至是主版本为4或者5的,只需要把数字改一下即可)

#3.查看当前gcc版本
gcc -v
# 还是gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04),所以得切换一下【下面有截图】。

#4.查看已安装的gcc版本
ls /usr/bin/gcc*
# gcc -8已经安装成功【截图可知】

#5.手动设置两个版本的优先级并选择
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 50
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 40
sudo update-alternatives --config gcc
# 直接enter了,也可以选数字。已改为默认gcc-8版本【截图可知】

再次使用gcc -v查看当前gcc版本,发现已经变成了gcc version 8.4.0 (Ubuntu 8.4.0-3ubuntu2)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

请添加图片描述
此时继续make -j4 编译,成功。

3.2 error:Your GPU “NVIDIA GeForce GTX 1060 6GB” isn’t in the ICP Step performance database, please add it

Your GPU “NVIDIA GeForce GTX 1060 6GB” isn’t in the ICP Step performance database, please add it
Your GPU “NVIDIA GeForce GTX 1060 6GB” isn’t in the RGB Step performance database, please add it
Your GPU “NVIDIA GeForce GTX 1060 6GB” isn’t in the RGB Res performance database, please add it
Your GPU “NVIDIA GeForce GTX 1060 6GB” isn’t in the SO3 Step performance database, please add it

问题:以上几个处理数据过程中、没用到本机显卡。
表现:不影响s程序主体运行,但是有这些提示就让人非常不舒服,必须找到问题。
解决:在 /Core/src/Utils/GPUConfig.h 下配置一下自己当前显卡的信息。

四、实采数据测试

4.1 实时数据【Kinect V2】

安装驱动

数据采集测试

使用Elasticfusion运行实时数据

4.2 离线数据

数据格式转换

数据文件处理

生成.klg文件

使用Elasticfusion运行离线数据

推荐阅读