Elasticfusion 配置

電腦配置是:ubuntu14.04(64位)+GTX1070+CPU(i7)

首先,在已裝有SSD目標檢測的條件下(此時cuda8.0等都已經裝好了)進行的Elasticfusion的安裝配置

然後,按照官網

https://github.com/mp3guy/Elasticfusion

1、安裝OpenNI2

如果在安裝依賴庫時找不到庫,那麼換源在進行。執行最後一步的時候failed,跳過,沒所謂

    •   sudo apt-get install g++
      
    •   sudo apt-get install python
      
        •   sudo apt-get install libusb-1.0-0-dev
          
          •   sudo apt-get install libudev-dev
            
                •   sudo apt-get install openjdk-6-jdk
                  
                    •   sudo apt-get install freeglut3-dev
                      
                        •   sudo apt-get install doxygen
                          
                            •   sudo apt-get install graphviz
                              
                            • cd OpenNI-master;make

2、安裝Pangolin

同樣按照鏈接裏給出的,成功.pangolin是歲OpenGL輸入輸出和視頻顯示的庫,可用於3D視覺和3D導航的視覺圖。百度搜索"pangolin學習”有這方面的資料

sudo apt-get install libglew-dev


git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake ..
cmake --build .

3、安裝依賴項

sudo apt-get install -y cmake-qt-gui git build-essential libusb-1.0-0-dev libudev-dev openjdk-7-jdk freeglut3-dev libglew-dev cuda-7-5 libsuitesparse-dev libeigen3-dev zlib1g-dev libjpeg-dev

其中,cuda-7-5不要安裝

接着,按照如下博客進行編譯

http://blog.csdn.net/cattylsy/article/details/52239590

4、安裝cmake

直接在ubuntu軟件中心下載安裝,但是配置Elastic Fusion需要升級到3.2,否則自帶的是2.8

sudo apt-get install build-essential  
wget http://www.cmake.org/files/v3.2/cmake-3.2.2.tar.gz  
tar xf cmake-3.2.2.tar.gz  
cd cmake-3.2.2  
./configure  
make  
sudo make install  
運行cmake --version查看版本

如果提示找不到bin/cmake,那麼sudo apt-get upgrade就可以了

5、配置kinect環境

我用的是kinect1,安裝kinect1的驅動

ubuntu 下的kinect1的驅動我知道的有兩種方式: 
 -----openNI+sensor+NITE(可選) 

 -----openNI2+libFreenect 我使用的是這一種。

前面已經安裝好OpenNI2,接着安裝libfreenect

進入openni2目錄    cd OpenNI2
git clone https://github.com/OpenKinect/libfreenect.git  
cd libfreenect  
mkdir build; cd build  
cmake .. -DBUILD_OPENNI2_DRIVER=ON  
make  
cp -L lib/OpenNI2-FreenectDriver/libFreenectDriver.so ${OPENNI2_DIR}/Bin/x64-Release/OpenNI2/Drivers   #將驅動拷貝到OpenNI2的解壓文件夾下,OPENNI2_DIR:OpenNI2的解壓文件夾  
sudo cp libfreenect/platform/linux/udev/51-kinect.rules /etc/udev/rules.dsudo reboot 插上kinect後,使用lsusb命令查看確保有以下三個:
Xbot camera
Xbot motor

Xbot audio

安裝成功檢查:

cd ${OPENNI2_DIR}/Bin/x64-Release/  
./NiViewer  

遇到錯誤:發現不了設備

錯誤原因:usb衝突,電腦的前面的兩個usb是一根總線,後面的共用一根總線,一開始我是用hub集線器引出來,鼠標和kinect1都插在hub上,造成衝突,換個usb插頭即可

6、安裝PCL

sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl  
sudo apt-get update  
sudo apt-get install libpcl-all  

7、安裝opengl

sudo apt-get install build-essential  
sudo apt-get install libgl1-mesa-dev  
sudo apt-get install libglu1-mesa-dev  
sudo apt-get install freeglut3-dev  

8、編譯

注意源碼裏有三個項目,Core、GPUTest和GUI

如果要使用作者的程序,則需要把三個項目安裝順序依次配置成功


cd ../Core  
mkdir build  
cd build  
cmake -D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-7.5 ../src  
make -j8  
cd ../../GPUTest  
mkdir build  
cd build  
cmake -D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-7.5 ../src  
make -j8  
cd ../../GUI  
mkdir build  
cd build  
cmake -D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-7.5 ../src  
make -j8  
之後就能在GUI/build中看到可執行項ElasticFusion。直接調用以下命令,默認從kinect1中獲取圖像並開始三位重建
./ElasticFusion  
這時出現錯誤:

error: GLSL 3.30 is not supported. Supported versions are: 1.00 ES, 1.10, 1.20, and 1.30

這是一個關於顯卡驅動支持的錯誤.

解決辦法:

.查看一些參數
sudo dpkg --list | grep nvidia  不顯示NVIDIA的版本,說明有問題
lspci | grep -i nvidia   設備裏的確有nvidia顯卡

選擇在終端重裝nvidia驅動,而不是手動

sudo apt-get remove --purge nvidia-*
(***提示cmake-qt-gui依賴cmake 2.8出錯,卸載cmake-qt-gui。卸載後cmake命令沒出錯,其他情況會不會出錯有待觀察)
sudo add-apt-repository ppa:xorg-edgers/ppa -y
sudo apt-get update
sudo apt-get install nvidia-367
查看安裝的版本
sudo dpkg --list | grep nvidia 這時就有nvidia的版本信息了



sudo modprobe nvidia-384 (這裏nvidia-384是Tab鍵補全而來的) 手動啓用nvidia顯卡

然後再次運行

./ElasticFusion  
成功!!!










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