ElasticFusion环境配置

ElasticFusion

系统环境 Ubuntu16.04+CUDA8.0+Opencv2.14+RTX3080

流程

依赖包

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

openjdk-7-jdk

sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-7-jdk

OpenGL

sudo apt-get install build-essential libgl1-mesa-dev
sudo apt-get install freeglut3-dev
sudo apt-get install libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev

下载代码

https://github.com/mp3guy/ElasticFusion

cd ElasticFusion

注意:下面都放在ElasticFusion文件夹中

安装Pangolin

git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build && cd build
cmake ../ -DAVFORMAT_INCLUDE_DIR="" -DCPP11_NO_BOOST=ON
make -j4
cd ../..

安装OpenNI2

git clone https://github.com/occipital/OpenNI2.git
cd OpenNI2
make -j4
cd ..

Build

  1. build Core

    cd ElasticFusion-master/Core
    mkdir build && cd build
    cmake ../src
    make -j4
    cd ../../
    
  2. build GPUTest

    cd GPUTest  
    mkdir build && cd build  
    cmake ../src  
    make -j4  
    cd ../../
    
  3. build GUI

    cd GUI
    mkdir build && cd build
    cmake ../src
    make -j4
    cd ../../
    

Run

在数据集中运行

下载数据集

http://www.doc.ic.ac.uk/~sleutene/datasets/elasticfusion/dyson_lab.klg

放到ElasticFuison/GUI/build中,并运行

./ElasticFusion -l dyson_lab.klg
出现的问题
  1. 显卡驱动问题
GLSL Shader compilation failed: /home/thx/ElasticFusion/Core/src/Shaders/copy_unstable.geom:
0:19(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES

OpenGL Error 500: GL_INVALID_ENUM: An unacceptable value is specified for an enumerated argument.
In: /usr/local/include/pangolin/gl/gl.hpp, line 205
OpenGL Error 501: GL_INVALID_VALUE: A numeric argument is out of range.
In: /usr/local/include/pangolin/gl/gl.hpp, line 205
Segmentation fault (core dumped)


Solution:重装显卡驱动

在安装显卡时,不要加-no-opengl-files

显卡驱动

2.修改cmakelist

thx@thx-MS-7B96:~/ElasticFusion/GUI/build$ ./ElasticFusion -l dyson_lab.klg
Error: invalid texture reference: /home/thx/ElasticFusion/Core/src/Cuda/convenience.cuh:68

在Core/src/Cmakelists.txt文件中,把第33行

set(CUDA_ARCH_PTX “” CACHE STRING “Specify ‘virtual’ PTX arch to build PTX intermediate code for. Example: 1.0 1.2 or 10 12)
//改为
set(CUDA_ARCH_PTX “61” CACHE STRING “Specify ‘virtual’ PTX arch to build PTX intermediate code for. Example: 1.0 1.2 or 10 12)

3.修改Pangolin

在这里插入图片描述

把glDrawFrustum改为glDrawFrustrum

修改GPUConfig.h

出现
在这里插入图片描述
在ElasticFusion/GPUtest/build文件夹中运行

./GPUTest ../

在这里插入图片描述

把最后四行添加到/ElasticFusion/Core/src/Utils/GPUConfig.h

在这里插入图片描述

使用KinectV1相机实时运行

  1. build libFreenect

    cd ElasticFusion
    git clone https://github.com/OpenKinect/libfreenect
    cd libfreenect
    

    打开CmakeLists.txt,在cmake_minimum_required(VERSION 2.8.12)下添加

    add_definitions(-std=c++11)
    
    

    保存后关闭

    mkdir build && cd build  
    cmake .. -DBUILD_OPENNI2_DRIVER=ON  
    make -j4
    cp -L lib/OpenNI2-FreenectDriver/libFreenectDriver.so ${OPENNI2_DIR}/Bin/x64-Release/OpenNI2/Drivers   #OPENNI2_DIR需要修改
    
    

    其中的OPENNI2_DIR是需要自己修改的,就是在ElasticFusion中的OPENNI2的完整路径

在这里插入图片描述

  1. 接入Kinect V1

    cd ..
    sudo cp platform/linux/udev/51-kinect.rules /etc/udev/rules.d
    
    

    重启电脑

    查看lsusb,如果有XBOX camera,XBOX motor,XBOX audio就成功了

  2. 运行

    在/ElasticFuison/GUI/build中

    ./ElasticFuison
    

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值