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

Kinect for Xbox one(v2) + Ubuntu 14.04 +ROS 安装的更多相关文章

  1. KinectV2+Ubuntu 14.04+Ros 安装教程

    前言 个人理解错误的地方还请不吝赐教,转载请标明出处,内容如有改动更新,请看原博:http://www.cnblogs.com/hitcm/ 如有任何问题,feel free to contact m ...

  2. Ubuntu 14.04 中 安装elasticsearch2.*+logstash2.*+kibana

    在Ubuntu 14.04 上安装单机版ELK 2.*(脚本化) 1.判断是否为root权限 if [ "${UID}" -ne 0 ]; then echo "You ...

  3. Ubuntu 14.04中安装最新版Eclipse

    Ubuntu 14.04中安装最新版Eclipse 来源:Linux社区    作者:Linux 1.安装OpenJDK Java 7 如果你的系统中没有安装Java,我们需要按照如下步骤事先安装好 ...

  4. Ubuntu 14.04下安装功能强大的屏幕截图软件 Shutter

    [注释]试用了一下,果然很强大,牛逼 一款功能强大的屏幕截图软件——Shutter,Shutter最基本的就是截图功能了,在设计上可以自由选定区域,同时选定之 后依然可以通过上下左右四个地方来改变选区 ...

  5. 翻译:在Ubuntu 14.04上安装FTP服务器的方法

    说明: 1.原文地址:http://www.krizna.com/ubuntu/setup-ftp-server-on-ubuntu-14-04-vsftpd/ 2.今天要做一个网络日志的迁移程序,搬 ...

  6. 分布式进阶(二)Ubuntu 14.04下安装Dockr图文教程(一)

    当前,完全硬件虚拟化技术(KVM.Xen.Hyper-V 等)能在一个物理主机上很好地运行多个互相独立的操作系统,但这也带来一些问题:性能不佳,资源浪费,系统反应迟缓等.有时候对用户来说,完全的硬件虚 ...

  7. Ubuntu 14.04 下安装 OpenCV

    参考: Installation in Linux Error compiling OpenCV, fatal error: stdlib.h: No such file or directory 图 ...

  8. Ubuntu 14.04 上安装 Gurobi

    参考: Installing Gurobi 7 on Linux Ubuntu 14.04 上安装 Gurobi 1.在gurobi上创建一个账户,并登陆: 2.从gurobi optimizer上下 ...

  9. 怎样在Ubuntu 14.04中安装Java(转)

    想知道如何在Ubuntu 14.04中安装Java?安装Java肯定是安装Ubuntu 14.04后首先要做的几件事情之一(见http://www.linuxidc.com/Linux/2014-04 ...

随机推荐

  1. syslog日志介绍

    一. syslog简介 syslog是一种工业标准的协议,可用来记录设备的日志.在UNIX系统,路由器.交换机等网络设备中,系统日志(System Log)记录系统中任何时间发生的大小事件.管理者可以 ...

  2. 03006_DOS操作数据乱码解决

    1.我们在dos命令行操作中文时,会报错 insert into sort(sid,sname) values(2,"电视机"); ERROR 1366 (HY000): Inco ...

  3. 【习题 8-12 UVA - 1153】Keep the Customer Satisfied

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 结束时间比较早的,就早点开始做. 所以,将n件事情,按照结束时间升序排. 然后对于第i件事情. 尽量把它往左排. 即t+1..t+a ...

  4. 下载新浪android SDK

    下载新浪android SDK 必须去官网 开放平台下载 http://open.weibo.com/ 下载SDK 点击进入之后,看到的界面例如以下: 然后下载android SDK就可以.假设基于别 ...

  5. 李笑来~执行力WWH

    什么是秘密 秘密是指只有极少数人知道的实用信息.这个实用信息可以为知道且懂得运用的人获得收益,这个收益可能包括钱.名声和快感. 什么是执行力 执行力=What + Why + How,即WWH 执行力 ...

  6. golang中new和make区别

    golang 中有两个内存分配机制 :new和make,二者有明显区别. new:用来初始化一个对象,并且返回该对象的首地址.其自身是一个指针.可用于初始化任何类型 make:返回一个初始化的实例,返 ...

  7. InstallShield详细制作说明(一)

    虽然网上关于InstallShield的制作说明已经很多,但是看的时候还是会有些晕乎乎的,不得不说很复杂.前段时候做了一次,后面需要升级,在重新做的时候发现有些地方自己又忘了,所以有必须将自己看的教程 ...

  8. C# 异步延时执行

    https://blog.csdn.net/xiawu1990/article/details/78350253?utm_source=blogxgwz7 var t = Task.Run(async ...

  9. natapp解决Invalid Host header的问题

    最近在做一个微信公众号项目,用微信开发工具调试本地项目,需要做一下内网穿透,代理都配置好了,页面出现这个Invalid Host header错误,内网穿透工具我是用的frps做的,最后通过googl ...

  10. 关于Django的登录系统

    首先需要明确的是登录的本质:登录就是服务器确认当前用户的身份,并将数据库中的记录提取匹配 默认的登录系统是用户名密码方式,这种方式很平常,也没什么特别的.这里主要说的是第三方验证登录 通常第三方验证登 ...