• 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驱动安装:

    • 下载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,不然后面运行iai_kinect2会有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 
        sudo 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

      如果运行都成功,那么恭喜你,驱动安装好啦!

    iai_kinect2安装(ROS):

    • 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   校准自己的相机参数哦!

     

  • 相关阅读:
    AndroidStudio build.gradle 报错
    点九图片的显示内容区域应作何理解
    【Android Studio快捷键】之导入相应包声明(import packages)
    ListView之EmptyView
    Activity 设置切换动画
    android 中 系统日期时间的获取
    解决Activity启动黑屏及设置android:windowIsTranslucent不兼容activity切换动画问题
    android选择图片或拍照图片上传到服务器(包括上传参数)
    Spring 4 官方文档学习(十)数据访问之OXM
    Spring 4 官方文档学习(十)数据访问之ORM
  • 原文地址:https://www.cnblogs.com/kunyuanjushi/p/5204436.html
Copyright © 2020-2023  润新知