1. 程式人生 > >Kinect for Xbox one(v2) + Ubuntu 14.04 +ROS

Kinect for Xbox one(v2) + Ubuntu 14.04 +ROS

標籤:

 

 

  相比於kinect for xbox 360(v1)通過結構光來獲取深度,Kinect for Xbox one(v2) 採用time flight技術,極大改善了深度影象的效能。kinect for xbox 360(v1)提供的原始圖彩色影象是640×480,深度圖是320×240,在ubuntu下,只需要安裝openni即可獲的registered的彩色圖和深度圖。而kinect for xbox one(v2)原始彩色影象是1920×1080,深度影象是512×424。目前在ubuntu下還沒有像較好的驅動,獲得registered影象一般通過libfreenect2(

https://github.com/OpenKinect/libfreenect2)和iai_kinect2(https://github.com/code-iai/iai_kinect2)在ros下讀取資料。好啦,不囉嗦了,我們開始安裝吧。

 

  • 下載libfreenect2 驅動

    git clone https://github.com/OpenKinect/libfreenect2.git

    cd libfreenect2

  • 下載升級deb檔案

    cd depends

    ./download_debs_trusty.sh

  • 下載工具

    sudo apt-get install build-essential cmake pkg-config

  • 安裝libusb

    sudo apt-add-repository ppa:floe/libusb

    sudo apt-get update     sudo apt-get install libusb-1.0-0-dev
  • 安裝TurboJPEG

    sudo apt-get install libturbojpeg libjpeg-turbo8-dev

  • 安裝OpenGL

    sudo dpkg -i debs/libglfw3*deb; sudo apt-get install -f; sudo apt-get install libgl1-mesa-dri-lts-vivid freeglut3-dev libxrandr-dev libxi-dev

  • 安裝OpenCL(推薦安裝,因為iai_kinect2預設用的opencl做registration,速度穩穩30Hz。CPU的話我試的是2-3Hz),我用的是Nvidia顯示卡,就說一下N卡opencl安裝。驅動是第一位的,比較方便的方式就是去Setting->Software & Updates->Additional Drivers選擇NVIDIA 最新version352的驅動,安裝應用就好了。

    sudo apt-get install nvidia-modprobe opencl-headers ocl-icd-dev 

   我是去下載ocl-icd-2.2.4,並安裝的,不然後面會有warning提示版本低

  • 安裝openni2(可選)

    sudo apt-get install openni2-utils && sudo make install-openni2 && NiViewer2

  • 編譯libfreenect2   

    cd ..

    mkdir build && cd build

    cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2

    make make install

  • 獲得裝置udev許可權

    sudo cp ../platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/

  • 測試驅動是否安裝好

    sudo chmod +x ./bin/Protonect  

    ./bin/Protonect cpu

    ./bin/Protonect gl

    ./bin/Protonect cl

  如果執行都成功,那麼恭喜你,驅動安裝好啦!

 

  • ROS下iai_kinect2安裝

    cd ~/catkin_ws/src/

    git clone https: //github.com/code-iai/iai_kinect2.git     cd iai_kinect2     rosdep install -r --from-paths .     cd ~/catkin_ws     catkin_make -DCMAKE_BUILD_TYPE= "Release"
  • 安裝結束,把你的kinect for xbox one 連上usb3.0 測試一下吧

    roslaunch kinect2_bridge kinect2_bridge.launch

   你也可以選擇深度圖獲取方式和registration方式:

    rosrun kinect2_bridge kinect2_bridge _depth_method:=<opengl|opencl|cpu> _reg_method:=<cpu|opencl>

  • 再開一個終端,檢視點雲或者影象,他提供了三種對準的影象格式 hd(1920x1080),qhd (960x540),sd (512x424):

    rosrun kinect2_viewer kinect2_viewer kinect2 sd cloud

    rosrun kinect2_viewer kinect2_viewer kinect2 sd image

  提示:如果想要取得更好的效果,記得按照iai_kinect2校準教程https://github.com/code-iai/iai_kinect2/tree/master/kinect2_calibration#calibrating-the-kinect-one   校準自己的相機引數哦!

 

技術分享

 

Kinect for Xbox one(v2) + Ubuntu 14.04 +ROS

標籤: