测试数据集+Kinect V2实时数据 已跑通,前后分别在4台电脑跑过,问题梳理比较多。
Tips:编译过程中仔细阅读readme文件, 看看是不是有什么地方没注意到,能解决大部分问题。
【源码】
ElasticFusion:https://github.com/mp3guy/ElasticFusion
Pangolin:https://github.com/stevenlovegrove/Pangolin
libfreenect2:https://github.com/OpenKinect/libfreenect2
OpenNI2:https://github.com/occipital/OpenNI2
OpenCV:https://opencv.org/releases/
png_to_klg:https://github.com/HTLife/png_to_klg
【参考】
Elasticfusion三维重建配置说明
Ubuntu14.04调试ElasticFusion之TUM数据集的测试
ubuntu 20.04/16.04配置Elasticfusion及问题解决
- 一、安装依赖项
- 二、Elasticfusion 主体
- 三、遇到的 Error
-
- 3.1 error:unsupported GNU version! gcc versions later than 8 are not supported!
- 3.2 error:Your GPU "NVIDIA GeForce GTX 1060 6GB" isn't in the ICP Step performance database, please add it
- 3.3 Pangolin error:Building Tests requested, but Catch2 library not found.
- 3.4 error:OpenGL有两个,需要指定
- 3.5 error:undefined reference to 'pthread_detach'/'pthread_create'
- 3.6 error:‘decay_t’ is not a member of ‘std’;
- 四、实采数据测试
在Ubuntu16.04和20.04都配了一遍,问题总结梳理。
友情提示,一定注意
- 必须是NVIDIA显卡。因为cuda是要基于NVIDIA的,AMD显卡配置环境到最后,是没办法运行的。
- 需要10 Series及以上,否则Elasticfusion跑不起来。
一、安装依赖项
1.1 Ubuntu 系统
首先是Ubuntu系统,这个不必多说。
我是从16.04最近才升级到了20.04,真香。
1.2 NVIDIA 驱动及 cuda
先确认下自己是够安装了NVIDIA驱动及其版本。
我之前是装过NVIDIA驱动的,可能因为
1.3 更新大法
sudo apt-get update
sudo apt-get upgrade
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.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 ../.. #文件夹回退两层
如果出现error,建议使用旧版本https://github.com/zzx2GH/Pangolin
我在另外一台电脑上使用https://github.com/stevenlovegrove/Pangolin版本代码,无论如何都会报错,搜索发现很多小伙伴都出现过这个问题,换个旧版本就欧了~
1.6 安装 Openjdk
Elasticfusion 源码的readme给的依赖项版本较低了,我选择了较高版本的openjdk8,会有不匹配的问题,后来又改成了openjdk7,亲测openjdk7与其他依赖项适配性较好。
sudo apt install openjdk-8-jdk-headless
java -version