ROS indigo下Kinect v2的驱动安装与调试
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的驱动安装与调试的更多相关文章
- ROS indigo下Kinect v1的驱动安装与调试
ROS indigo下Kinect v1的驱动安装与调试 本文简要叙述了在ROS indigo版本下Kinect v1的驱动安装与调试过程. 1. 实验环境 (1)硬件: 台式机和Kinect v1 ...
- ubuntu14.04 and ros indigo install kinect driver--16
摘要: 原创博客:转载请表明出处:http://www.cnblogs.com/zxouxuewei/ 今日多次测设ros indigo install kinect driver ,提示各种失败,然 ...
- ubuntu14.04下nodejs + npm + bower的安装、调试和部署
1. 简介 本文介绍ubuntu14.04下nodejs+npm+bower的安装.调试和部署 参考文档 https://docs.npmjs.com/getting-started https: ...
- ubuntu14.04下 Kinect V2+Ros接口安装
1. 首先git下载代码,放到主文件夹下面 git clone https://github.com/OpenKinect/libfreenect2.git 2. 然后安装依赖项如下,最好事先编译安装 ...
- win7下Arduino Mega 2560驱动安装失败解决办法
因为玩四轴用的apm的飞控板,而其需要安装此驱动,曾经在win8使用其,但是因为win8有相对应的数字证书保护措施(应该是这样的,因为好久了记不清楚了),以至于我每次都需要长按shift重启电脑关闭此 ...
- 机器人操作系统ROS Indigo 入门学习(1)——安装ROS Indigo【转】
转自:http://blog.csdn.net/bobsweetie/article/details/43638761 Ubuntu14.04安装ROS Indigo 一.安装ROS 1.1配置Ubu ...
- 腾达Tenda W311MA无线网卡Linux下驱动安装
菜鸟看这里https://help.ubuntu.com/community/WifiD ... enda_W311M 最近也买了颗Tenda W311M网卡,简单说一下驱动的安装和hostapd做S ...
- ARM驱动:SEC S3C2410X Test B/D USB驱动 安装
s3c2410x驱动是一款非常好用的usb驱动程序,win7 64位下mini2440 USB下载驱动安装,解决win7下安装SEC S3C2410X Test B/D 驱动出现叹号的问题.如果你开始 ...
- Ubuntu 16.04 安装Kinect V2驱动
1.下载源代码 git clone https://github.com/OpenKinect/libfreenect2.git 2.依赖项安装 sudo apt-get install build- ...
随机推荐
- Mysql基础学习_Windows版(一)
1.Mysql简介 Mysql是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性.所谓的关系型数据库,是建立在关系模型基础上的 ...
- 阿里云 ecs win2016 FileZilla Server
Windows Server 2016 下使用 FileZilla Server 安装搭建 FTP 服务 一.安装 Filezilla Server 下载最新版本的 Filezilla Server ...
- el-table——可合并单元格的表格
<el-table v-loading="loading" :data="tableData" border :span-method="col ...
- java - day008 - 接口,内部类
接口 作用: 结构设计工具,用来解耦合,需要有子类,隔离具体实现 接口是一个极端的抽象类 用 interface 代替 class 用 implements 代替 extends // 接口中所有东西 ...
- Django基础目录
Django基础(一):基础引用 Django基础(二):环境配置 Django—model系统:ORM基础 Django—model系统:ORM字段和参数 Django—model系统:ORM对数据 ...
- 02 WIndows编程——危险的sizeof
C语言中,对 sizeof() 的处理都是在编译阶段进行. 下面代码,注意可变参数是怎么使用的 #include<Windows.h> #include<stdio.h> in ...
- (12)流程控制if
流程: 代码执行的过程 流程控制:对代码执行过程的管控 分支结构: (1) 单项分支 (2) 双项分支 (3) 多项分支 (4) 巢状分支 如果条件表达式为真 ,则执行代码块里面的内容从上到下 (1) ...
- RT-Thread--简介
RT-Thread 概述 RT-Thread,全称是 Real Time-Thread,它是一个嵌入式实时多线程操作系统,基本属性之一是支持多任务,允许多个任务同时运行,但并不是真正的同时运行,而是宏 ...
- go语言的defer语句
转: https://www.jianshu.com/p/5b0b36f398a2 ---------------------------------------------------------- ...
- linux下禁止root远程登录
一.添加和root权限一样的用户 1. adduser admin passwd admin (修改密码) 2.修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示 ...