ROS indigo下Kinect v2的驱动安装与调试

一、libfreenect2源码安装与测试

github地址:https://github.com/OpenKinect/libfreenect2

最终测试终端显示如下:

yuanlibin@yuanlibin:~/libfreenect2/build$ ./bin/Protonect
Version: 0.2.
Environment variables: LOGFILE=<protonect.log>
Usage: ./bin/Protonect [-gpu=<id>] [gl | cl | clkde | cuda | cudakde | cpu] [<device serial>]
[-noviewer] [-norgb | -nodepth] [-help] [-version]
[-frames <number of frames to process>]
To pause and unpause: pkill -USR1 Protonect
[Info] [Freenect2Impl] enumerating devices...
[Info] [Freenect2Impl] usb devices connected
[Error] [Freenect2Impl] failed to open Kinect v2: @: LIBUSB_ERROR_ACCESS Access denied (insufficient permissions)
[Info] [Freenect2Impl] found devices
no device connected!
yuanlibin@yuanlibin:~/libfreenect2/build$ sudo ./bin/Protonect
Version: 0.2.
Environment variables: LOGFILE=<protonect.log>
Usage: ./bin/Protonect [-gpu=<id>] [gl | cl | clkde | cuda | cudakde | cpu] [<device serial>]
[-noviewer] [-norgb | -nodepth] [-help] [-version]
[-frames <number of frames to process>]
To pause and unpause: pkill -USR1 Protonect
[Info] [Freenect2Impl] enumerating devices...
[Info] [Freenect2Impl] usb devices connected
[Info] [Freenect2Impl] found valid Kinect v2 @: with serial
[Info] [Freenect2Impl] found devices
[Info] [Freenect2DeviceImpl] opening...
[Info] [Freenect2DeviceImpl] transfer pool sizes rgb: * ir: **
[Info] [Freenect2DeviceImpl] opened
[Info] [Freenect2DeviceImpl] starting...
[Debug] [Freenect2DeviceImpl] status 0x090000:
[Debug] [Freenect2DeviceImpl] status 0x090000:
[Info] [Freenect2DeviceImpl] submitting rgb transfers...
[Info] [Freenect2DeviceImpl] submitting depth transfers...
[Info] [Freenect2DeviceImpl] started
device serial:
device firmware: 2.3.3913.0
[Debug] [DepthPacketStreamParser] not all subsequences received
[Debug] [DepthPacketStreamParser] skipping depth packet
[Debug] [DepthPacketStreamParser] skipping depth packet
[Debug] [DepthPacketStreamParser] skipping depth packet
[Debug] [DepthPacketStreamParser] skipping depth packet
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Info] [DepthPacketStreamParser] packets were lost
[Info] [OpenGLDepthPacketProcessor] avg. time: .45557ms -> ~.905Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: .7065ms -> ~.9972Hz
[Debug] [DepthPacketStreamParser] skipping depth packet
[Info] [DepthPacketStreamParser] packets were lost
[Info] [OpenGLDepthPacketProcessor] avg. time: .00361ms -> ~.783Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: .0946ms -> ~.9491Hz
[Debug] [DepthPacketStreamParser] skipping depth packet
[Info] [DepthPacketStreamParser] packets were lost
[Info] [OpenGLDepthPacketProcessor] avg. time: .18776ms -> ~.609Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: .1463ms -> ~.6897Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: .06018ms -> ~.621Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: .4458ms -> ~.2242Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: .03082ms -> ~.775Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: .595ms -> ~.5168Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: .10736ms -> ~.796Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: .1131ms -> ~.1676Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: .05573ms -> ~.795Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: .2058ms -> ~.3937Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: .19326ms -> ~.557Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: .9728ms -> ~.5675Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: .41113ms -> ~.804Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: .4546ms -> ~.1822Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: .85608ms -> ~.763Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: .8185ms -> ~.4832Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: .48623ms -> ~.173Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: .9838ms -> ~.7385Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: .83449ms -> ~.683Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: .2176ms -> ~.7133Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: .5814ms -> ~.3453Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: .1936ms -> ~.817Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: .2376ms -> ~.9869Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: .3206ms -> ~.2715Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: .45ms -> ~.6942Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: .2756ms -> ~.4638Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: .9264ms -> ~.741Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: .1589ms -> ~.9679Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: .85152ms -> ~.507Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: .096ms -> ~.2426Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: .81726ms -> ~.861Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: .9504ms -> ~.8881Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: .81506ms -> ~.884Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: .9432ms -> ~.9201Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: .83013ms -> ~.728Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: .9232ms -> ~.0098Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: .37377ms -> ~.616Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: .6522ms -> ~.2493Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: .17901ms -> ~.295Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: .5835ms -> ~.5707Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: .17929ms -> ~.289Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: .2584ms -> ~.5379Hz
[Info] [Freenect2DeviceImpl] stopping...
[Info] [Freenect2DeviceImpl] canceling rgb transfers...
[Info] [Freenect2DeviceImpl] canceling depth transfers...
[Info] [Freenect2DeviceImpl] stopped
[Info] [Freenect2DeviceImpl] closing...
[Info] [Freenect2DeviceImpl] releasing usb interfaces...
[Info] [Freenect2DeviceImpl] deallocating usb transfer pools...
[Info] [Freenect2DeviceImpl] closing usb device...
[Info] [Freenect2DeviceImpl] closed
[Info] [Freenect2DeviceImpl] closing...
[Info] [Freenect2DeviceImpl] already closed, doing nothing

二、iai-kinect2源码安装与测试

github地址:https://github.com/code-iai/iai_kinect2

说明:

在安装依赖项中需要opencv2.4.*,不能用opencv3.*。

测试过程中先默认路径安装了opencv2.4.9,然后安装iai-kinect2,可以正常运行。但是指定路径安装了opencv3.1.0就无法运行了。

但是在默认路径安装了opencv2.4.9后,先指定路径安装了opencv3.1.0,最后安装iai-kinect2,是可以正常运行的。

1. 新建一个catkin_ws工作空间,编译安装iai-kinect2

mkdir catkin_ws
cd catkin_ws
mkdir src
cd 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"
rospack profile

2. 测试是否安装成功

roslaunch kinect2_bridge kinect2_bridge.launch

若出现以下错误:

[FATAL] [1479522843.484561710]: Failed to load nodelet '/kinect2_points_xyzrgb_qhd` of type `depth_image_proc/point_cloud_xyzrgb` to manager `kinect2'
[FATAL] [1479522843.485011986]: Failed to load nodelet '/kinect2_points_xyzrgb_sd` of type `depth_image_proc/point_cloud_xyzrgb` to manager `kinect2'
[FATAL] [1479522843.485174496]: Failed to load nodelet '/kinect2_bridge` of type `kinect2_bridge/kinect2_bridge_nodelet` to manager `kinect2'
[kinect2-] process has died [pid , exit code -, cmd /opt/ros/indigo/lib/nodelet/nodelet manager __name:=kinect2 __log:=/home/yuanlibin/.ros/log/a0154834-ae00-11e6--1c1b0d61bf22/kinect2-.log].
log file: /home/yuanlibin/.ros/log/a0154834-ae00-11e6--1c1b0d61bf22/kinect2-*.log
[kinect2_bridge-] process has died [pid , exit code , cmd /opt/ros/indigo/lib/nodelet/nodelet load kinect2_bridge/kinect2_bridge_nodelet kinect2 __name:=kinect2_bridge __log:=/home/yuanlibin/.ros/log/a0154834-ae00-11e6--1c1b0d61bf22/kinect2_bridge-.log].
log file: /home/yuanlibin/.ros/log/a0154834-ae00-11e6--1c1b0d61bf22/kinect2_bridge-*.log
[kinect2_bridge-] restarting process
process[kinect2_bridge-]: started with pid []
[ INFO] [1479522843.775811528]: Loading nodelet /kinect2_bridge of type kinect2_bridge/kinect2_bridge_nodelet to manager kinect2 with the following remappings:
[ INFO] [1479522843.777704976]: waitForService: Service [/kinect2/load_nodelet] could not connect to host [yuanlibin:], waiting...
[kinect2_points_xyzrgb_sd-] process has died [pid , exit code , cmd /opt/ros/indigo/lib/nodelet/nodelet load depth_image_proc/point_cloud_xyzrgb kinect2 rgb/camera_info:=kinect2/sd/camera_info rgb/image_rect_color:=kinect2/sd/image_color_rect depth_registered/image_rect:=kinect2/sd/image_depth_rect depth_registered/points:=kinect2/sd/points __name:=kinect2_points_xyzrgb_sd __log:=/home/yuanlibin/.ros/log/a0154834-ae00-11e6--1c1b0d61bf22/kinect2_points_xyzrgb_sd-.log].
log file: /home/yuanlibin/.ros/log/a0154834-ae00-11e6--1c1b0d61bf22/kinect2_points_xyzrgb_sd-*.log
[kinect2_points_xyzrgb_qhd-] process has died [pid , exit code , cmd /opt/ros/indigo/lib/nodelet/nodelet load depth_image_proc/point_cloud_xyzrgb kinect2 rgb/camera_info:=kinect2/qhd/camera_info rgb/image_rect_color:=kinect2/qhd/image_color_rect depth_registered/image_rect:=kinect2/qhd/image_depth_rect depth_registered/points:=kinect2/qhd/points __name:=kinect2_points_xyzrgb_qhd __log:=/home/yuanlibin/.ros/log/a0154834-ae00-11e6--1c1b0d61bf22/kinect2_points_xyzrgb_qhd-.log].
log file: /home/yuanlibin/.ros/log/a0154834-ae00-11e6--1c1b0d61bf22/kinect2_points_xyzrgb_qhd-*.log
[kinect2_points_xyzrgb_sd-] restarting process
process[kinect2_points_xyzrgb_sd-]: started with pid []
[kinect2_points_xyzrgb_qhd-] restarting process
process[kinect2_points_xyzrgb_qhd-]: started with pid []
[kinect2_points_xyzrgb_hd-] process has finished cleanly
log file: /home/yuanlibin/.ros/log/a0154834-ae00-11e6--1c1b0d61bf22/kinect2_points_xyzrgb_hd-*.log
[kinect2_points_xyzrgb_hd-] restarting process
process[kinect2_points_xyzrgb_hd-]: started with pid []

是因为在.bashrc文件中要添加如下代码,并且要注释掉原来的rgbdslam_catkin_ws的那行代码

#source /home/yuanlibin/rgbdslam_catkin_ws/devel/setup.bash
source /home/yuanlibin/catkin_ws/devel/setup.bash

最后测试

终端1

roslaunch kinect2_bridge kinect2_bridge.launch

终端2

rosrun kinect2_viewer kinect2_viewer

测试成功。

此时,可以按空格或者s键单张采集彩色图、深度图及其对应的点云图图像。

如果要连续采集图像,请参考博文:http://blog.csdn.net/sunbibei/article/details/51594824

ROS indigo下Kinect v2的驱动安装与调试的更多相关文章

  1. ROS indigo下Kinect v1的驱动安装与调试

    ROS indigo下Kinect v1的驱动安装与调试 本文简要叙述了在ROS indigo版本下Kinect v1的驱动安装与调试过程. 1. 实验环境 (1)硬件:  台式机和Kinect v1 ...

  2. ubuntu14.04 and ros indigo install kinect driver--16

    摘要: 原创博客:转载请表明出处:http://www.cnblogs.com/zxouxuewei/ 今日多次测设ros indigo install kinect driver ,提示各种失败,然 ...

  3. ubuntu14.04下nodejs + npm + bower的安装、调试和部署

      1. 简介 本文介绍ubuntu14.04下nodejs+npm+bower的安装.调试和部署 参考文档 https://docs.npmjs.com/getting-started https: ...

  4. ubuntu14.04下 Kinect V2+Ros接口安装

    1. 首先git下载代码,放到主文件夹下面 git clone https://github.com/OpenKinect/libfreenect2.git 2. 然后安装依赖项如下,最好事先编译安装 ...

  5. win7下Arduino Mega 2560驱动安装失败解决办法

    因为玩四轴用的apm的飞控板,而其需要安装此驱动,曾经在win8使用其,但是因为win8有相对应的数字证书保护措施(应该是这样的,因为好久了记不清楚了),以至于我每次都需要长按shift重启电脑关闭此 ...

  6. 机器人操作系统ROS Indigo 入门学习(1)——安装ROS Indigo【转】

    转自:http://blog.csdn.net/bobsweetie/article/details/43638761 Ubuntu14.04安装ROS Indigo 一.安装ROS 1.1配置Ubu ...

  7. 腾达Tenda W311MA无线网卡Linux下驱动安装

    菜鸟看这里https://help.ubuntu.com/community/WifiD ... enda_W311M 最近也买了颗Tenda W311M网卡,简单说一下驱动的安装和hostapd做S ...

  8. ARM驱动:SEC S3C2410X Test B/D USB驱动 安装

    s3c2410x驱动是一款非常好用的usb驱动程序,win7 64位下mini2440 USB下载驱动安装,解决win7下安装SEC S3C2410X Test B/D 驱动出现叹号的问题.如果你开始 ...

  9. Ubuntu 16.04 安装Kinect V2驱动

    1.下载源代码 git clone https://github.com/OpenKinect/libfreenect2.git 2.依赖项安装 sudo apt-get install build- ...

随机推荐

  1. SIFT算法研究

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://underthehood.blog.51cto.com/2531780/65835 ...

  2. mysql 添加省市编码表

    省表格: --省级 Provincial create table Provincial(pid int,Provincial varchar(50),primary key (pid)) inser ...

  3. Java数据结构总述

    array list map set 链表..array 和list类似,增删慢,读取快,list长度可变,array长度固定, 链表增删快的list set 是一个没有重复数据的集合 map 是一个 ...

  4. VBA宏注释(四)

    注释用于记录程序逻辑和用户信息,其他程序员将来可以阅读并理解相同的代码无缝工作. 它包括由开发者,修改者以及还可以包括合并逻辑的信息. 解释器在执行时忽略注释. VBA中的注释用两种方法表示,它们分别 ...

  5. vulnhub攻略

    https://www.vulnhub.com/entry/21ltr-scene-1,3/ 这个靶机国内https://www.cnblogs.com/hack404/p/11423228.html ...

  6. SAP Marketing Cloud的Contact导入配置和数据合并原理

    SAP很多系统的主数据都支持从外部系统导入,SAP Marketing Cloud也是如此,contact主数据可以来自Hybris Commerce,CRM,ERP或者Twitter,Faceboo ...

  7. Eclipse中如何创建一个完整的Maven-Web项目

    Maven Web项目搭建 1.首先确保本地开发环境搭建完毕(jdk,maven). 2.打开Eclipse,新建Maven项目.选择Maven Project选项. 3.将第一项:Create a ...

  8. Linux——CentOS7安装gcc编译器详解 查看内核版本

    [root@localhost ~]# uname -a Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:3 ...

  9. VMware Workstation中虚拟机与windows10共享文件夹

    设置共享文件夹之前需要确定已经安装VMware Tools 1.在windows桌面新建一个名为share_folder的文件夹用来共享 2.右键点击虚拟机的名字,在弹出的菜单中选择设置 弹出对话框 ...

  10. PHP获取当前页面地址

    #测试网址:     http://localhost/blog/testurl.php?id=5   //获取域名或主机地址 echo $_SERVER['HTTP_HOST']."< ...