摘要: 原创博客:转载请表明出处:http://www.cnblogs.com/zxouxuewei/

今日多次测设ros indigo install kinect driver ,提示各种失败,然后心情非常不好 ,时不时的吐槽一下没有好的资料,在翻遍近百个贴后终于有初步结果。

1.在ubuntu上安装kinect驱动比较繁琐,需要安装以下3个驱动包,

  OpenNI-Bin-Dev-Linux-x64-v1.5.7.10

  NITE-Bin-Dev-Linux-x64-v1.5.2.23

  Sensor-Bin-Linux-x64-v5.1.2.1

2.可以在我的git上下载:https://github.com/ZXWBOT/kinect_driver

git clone https://github.com/ZXWBOT/kinect_driver.git

也可以直接在网盘下载:http://pan.baidu.com/s/1hqHB10w 提取密码:wrmn

3.下载好三个驱动包后,在相应的文件夹解压。

4.然后一次安装:

安装之前首先说明一下:特殊压缩的解压方法:

xxx.tar.gz 解压:tar xvzf xxx.tar.gz

xxx.zip  解压:unzip  xxx.zip

xxx.tar.bz2  解压:tar -jxvf xxx.tar.bz2

xxx.tar.zip 分两步解压  1> unzip xxx.tar.zip  结果为 xxx.tar.bz2

           2>  tar -jxvf xxx.tar.bz2

1>、安装openni

cd !/kinect/OpenNI-Bin-Dev-Linux-x64-v1.5.7.
sudo ./install.sh

如果显示如下

Installing OpenNI
**************************** copying shared libraries...OK
copying executables...OK
copying include files...OK
creating database directory...OK
registering module 'libnimMockNodes.so'...OK
registering module 'libnimCodecs.so'...OK
registering module 'libnimRecorder.so'...OK
creating java bindings directory...OK
Installing java bindings...OK *** DONE ***
则安装成功

2>、安装NITE

cd ~/kinect/NITE-Bin-Linux-x64-v1.5.2.
sudo ./install.sh

如果显示如下:

Installing NITE
*************** Copying shared libraries... OK
Copying includes... OK
Installing java bindings... OK
Installing module 'Features_1_3_0'...
Registering module 'libXnVFeatures_1_3_0.so'... OK
Installing module 'Features_1_3_1'...
Registering module 'libXnVFeatures_1_3_1.so'... OK
Installing module 'Features_1_4_1'...
Registering module 'libXnVFeatures_1_4_1.so'... OK
Installing module 'Features_1_4_2'...
Registering module 'libXnVFeatures_1_4_2.so'... OK
Installing module 'Features_1_5_2'...
Registering module 'libXnVFeatures_1_5_2.so'... OK
Copying XnVSceneServer... OK
Installing module 'Features_1_5_2'
registering module 'libXnVHandGenerator_1_3_0.so'...OK
Installing module 'Features_1_5_2'
registering module 'libXnVHandGenerator_1_3_1.so'...OK
Installing module 'Features_1_5_2'
registering module 'libXnVHandGenerator_1_4_1.so'...OK
Installing module 'Features_1_5_2'
registering module 'libXnVHandGenerator_1_4_2.so'...OK
Installing module 'Features_1_5_2'
registering module 'libXnVHandGenerator_1_5_2.so'...OK
Adding license.. OK *** DONE ***
则安装成功

3>、安装Sensor

cd ~/kinect/Sensor-Bin-Linux-x64-v5.1.2.
sudo ./install.sh

如果显示如下

Installing PrimeSense Sensor
**************************** creating config dir /usr/etc/primesense...OK
copying shared libraries...OK
copying executables...OK
registering module 'libXnDeviceSensorV2KM.so' with OpenNI...OK
registering module 'libXnDeviceFile.so' with OpenNI...OK
copying server config file...OK
setting uid of server...OK
creating server logs dir...OK
installing usb rules...OK
installing modprobe blacklist...OK *** DONE ***
则安装成功

5、运行示例
连上kinect的数据线

cd ~/kinect/OpenNI-Bin-Dev-Linux-x64-v1.5.7./Samples/Bin/x64-Release
./NiViewer

如果出现kinect画面则配置成功

六、问题

1、注意如果出现:

One or more of the following nodes could not be enumerated:

Device: PrimeSense/SensorV2/5.1.6.6: The device is not connected!
Device: PrimeSense/SensorV2/5.1.0.41: The device is not connected!
Device: PrimeSense/SensorV2/5.1.6.6: The device is not connected!
Device: PrimeSense/SensorV2/5.1.0.41: The device is not connected! Press any key to continue . . .

这样的问题有可能是这三个包版本不匹配,我这里的三个包亲测是可用的。但是Sensor如果是5.1.6.6版本则出现上面报错。
之前安装好了驱动可以正常运行的,今天运行openni的节点却发现不能正常打开Kinect了,报错如下:

Device: PrimeSense/SensorV2/5.1.0.41: The device is not connected!

于是我重新做了一遍步骤四

$ cd /home/siat/software/Sensor-Bin-Linux-x64-v5.1.2.
$ sudo ./install.sh

再次运行示例程序成功启动Kinect
我尝试用32位版本的驱动来启动xtion,还是提示连不上设备,当我重新编译上面三个64位驱动运行NiViewr的时候出现如下提示:

One or more of the following nodes could not be enumerated:

Device: PrimeSense/SensorKinect/5.1.2.1: The device is not connected!
Device: PrimeSense/SensorV2/5.1.0.41: The device is not connected!
Device: PrimeSense/SensorKinect/5.1.2.1: The device is not connected!
Device: PrimeSense/SensorV2/5.1.0.41: The device is not connected! Press any key to continue . . .

我用./install.sh -u 卸载Openni和Sensor,用./uninstall.sh 卸载NITE,然后重新到原64位Sensor驱动下运行./install.sh 之后正常使用NiViewr开启kinect。

2、注意openni2和NITE2版本的包现在只能用于xtion,kinect只能使用版本1的驱动

3、查看版本

$ pkg-config --modversion opencv

会显示版本号,比如2.4.11

可以将OpenCV替换为其他包名字,用Tab键补全以避免名字出错

4、用apt-get方式安装的一些包
kinect用的freenect:

$ sudo apt-get install ros-indigo-freenect-launch
$ sudo apt-get install ros-indigo-freenect-camera
$ sudo apt-get install ros-indigo-freenect-stack

xtion用的openni:

$ sudo apt-get install ros-indigo-openni-camera
$ sudo apt-get install ros-indigo-openni-launch
上面如果不行请使用下面的驱动
$ sudo apt-get install ros-indigo-openni2-camera
$ sudo apt-get install ros-indigo-openni2-launch

5、关于kinect和xtion切换的问题
openni默认的设备是kinect,如果你用的是kinect,装完上面的驱动之后运行NiViewer可以正常使用
但是如果你使用的设备是xtion,直接运行NiViewer会出现如下报错

Open failed: USB interface is not supported!

运行$ roslaunch openni_launch openni.launch 出现如下报错

[ INFO] [1464612941.306334563]: Initializing nodelet with  worker threads.
[ INFO] [1464612947.664521213]: Number devices connected:
[ INFO] [1464612947.666982470]: . device on bus : is a SensorV2 () from PrimeSense (1d27) with serial id ''
[ INFO] [1464612947.667906288]: Searching for device with index =
[ INFO] [1464612947.670034045]: No matching device found.... waiting for devices. Reason: openni_wrapper::OpenNIDevice::OpenNIDevice(xn::Context&, const xn::NodeInfo&, const xn::NodeInfo&, const xn::NodeInfo&, const xn::NodeInfo&) @ /tmp/binarydeb/ros-indigo-openni-camera-1.9./src/openni_device.cpp @ : creating depth generator failed. Reason: USB interface is not supported!

也是USB interface is not supported! 的问题
解决方案如下:参考博客
修改GlobalDefaults.ini配置文件

$ sudo gedit /etc/openni/GlobalDefaults.ini 

将第60行前面的分号去掉(即取消注释)

;UsbInterface=

再次尝试运行openni.launch 或者NiViewer 就可以用xtion了,如果不行还需要重启一下电脑


关于xtion博主还有一个一直很困扰的问题,在刚装系统的电脑上安装上面三个驱动使用xtion很正常,但是在使用了一段时间的电脑上装这三个驱动却一直提示the device is not connected!,试了上面所有的方案都不行,估计是驱动冲突,我卸载了所有openni、nite相关的包重新安装驱动也不行,最后只好无奈的使用微软的Kinect才正常

6、Open failed: Xiron OS failed to wait on event!
运行如下命令:

$ sudo chmod +x /usr/bin/XnSensorServer

7、博主重装了32位ubuntu14.04,然后下载上面三个驱动对应的32位驱动,编译之后可以驱动华硕的xtion pro live,值得注意的是有可能遇到如下问题

Open failed: Failed to set USB interface!

这个问题跟前面的类似,需要改GlobalDefaults.ini 文件,但是32位驱动的这个配置文件不在/etc/openni/下了,搜索了一下文件夹找到这个文件原来是在/usr/etc/primesense/

$ sudo gedit /usr/etc/primesense/GlobalDefaults.ini 

将第60行前面的分号去掉(即取消注释)

;UsbInterface=

再次尝试运行openni.launch 或者NiViewer 就可以用xtion了,如果不行还需要重启一下电脑

8、Find user generator failed: Error!
我使用xtion遇到这个问题如下报错,重新把压缩包拷到电脑上解压之后编译openni、Sensor、NITE这三个驱动,然后取消GlobalDefaults.ini文件里;UsbInterface=2 行的注释就好了

$ ./Sample-NiSimpleSkeleton 
Reading config from: '../../Config/SamplesConfig.xml'
Could not find data file /usr/etc/primesense/Features_1_5_2/s.dat
current working directory = /home/robot/software/OpenNI-Bin-Dev-Linux-x86-v1.5.7./Samples/Bin/x86-Release
Find user generator failed: Error!

9、No devices connected…. waiting for devices to be connected
如果出现如下报错:

roslaunch openni_launch openni.launch
[ INFO] [1470382635.817744169]: Initializing nodelet with worker threads.
[ INFO] [1470382643.589318569]: No devices connected.... waiting for devices to be connected
  • 首先是驱动问题
    检查前面说的驱动是否正确安装
    如果之前是正常使用的,驱动没有问题
  • 再检查USB设备
    运行lsusb
$ lsusb
Bus Device : ID : Intel Corp. Integrated Rate Matching Hub
Bus Device : ID 1d6b: Linux Foundation 2.0 root hub
Bus Device : ID 04f2:b398 Chicony Electronics Co., Ltd
Bus Device : ID 04ca: Lite-On Technology Corp.
Bus Device : ID : Intel Corp. Integrated Rate Matching Hub
Bus Device : ID 1d6b: Linux Foundation 2.0 root hub
Bus Device : ID 1d6b: Linux Foundation 3.0 root hub
Bus Device : ID 045e:02ad Microsoft Corp. Xbox NUI Audio
Bus Device : ID 045e:02c2 Microsoft Corp. Kinect for Windows NUI Motor
Bus Device : ID 1d6b: Linux Foundation 2.0 root hub

如果只有Microsoft Corp.设备只有一个或没有说明Kinect线没插上或者供电不足,检查Kinect分叉线的连接处和电源接口处是否正确连接,并检查电量。

比如我的turtlebot2在底盘电量显示还有30%左右的时候用lsusb 查看设备发现只有Microsoft Corp. Kinect for Windows NUI Motor 而找不到Microsoft Corp. Xbox NUI Audio ,换一个外部供电的Kinect可以正常使用,lsusb 显示的也是两个设备。这也是很无奈的事情,只好乖乖充电了,也许底盘电量显示不符合实际。

10、turtlebot官网的驱动安装

  • 首先按照前面说的安装openni
    请参照 二、安装OpenNI
  • 安装SensorKinect
mkdir ~/kinectdriver
cd ~/kinectdriver
git clone https://github.com/avin2/SensorKinect
cd SensorKinect/Bin/
tar xvjf SensorKinect093-Bin-Linux-x64-v5.1.2..tar.bz2
cd Sensor-Bin-Linux-x64-v5.1.2./
sudo ./install.sh

ubuntu14.04 and ros indigo install kinect driver--16的更多相关文章

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

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

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

    ROS indigo下Kinect v2的驱动安装与调试 一.libfreenect2源码安装与测试 github地址:https://github.com/OpenKinect/libfreenec ...

  3. Ubuntu14.04安装 ROS 安装步骤和问题总结

    参考: 1.http://wiki.ros.org/indigo/Installation/Ubuntu 2.安装出现依赖库问题: https://answers.ros.org/question/3 ...

  4. install kinect driver for ARM---38

    原创博客:转载请标明出处:http://www.cnblogs.com/zxouxuewei/ The video describes connecting a Microsoft Kinect to ...

  5. ros indigo install

    http://wiki.ros.org/cn/indigo/Installation/Ubuntu

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

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

  7. Ubuntu14.04(indigo)实现RGBDSLAMv2(数据集和实时Kinect)

    Ubuntu14.04(indigo)实现RGBDSLAMv2(数据集和实时Kinect v2) 一.在.bag数据集上跑RGBDSLAMv2 RGBDSLAMv2指的是Felix Endres大神在 ...

  8. Ubuntu14.04 使用本地摄像头跑ORB SLAM2(暂未完成)

    嗯 这个方法我暂时弄不出来,用了另外一个方法:SLAM14讲 第一次课 使用摄像头或视频运行 ORB-SLAM2 前面的准备: Ubuntu14.04安装 ROS 安装步骤和问题总结 Ubuntu14 ...

  9. 制作Ubuntu14.04的Openstack镜像

    下载好Ubuntu官方镜像安装文件:不要使用desktop版,在virtualbox和vm上都安装报错,因为不需要桌面,所有没去管了. 第一步.准备好如下文件: 1.ubuntu-14.04.4-se ...

随机推荐

  1. libpng交叉编译安装

    tar xzf libpng-1.5.22.tar.gz cd libpng-1.5.22 mkdir tmp 打开Makefile文件并修改CC=arm-linux-gcc ./configure ...

  2. http://bootswatch.com/

    http://bootswatch.com/ http://v3.bootcss.com/examples/dashboard/

  3. Dom事件初步了解

    1.事件流 事件流可以分为两种:事件冒泡和事件捕获 1. 事件冒泡就是从目标元素一直冒泡到根元素html(IE和DOM浏览器都有) 2. 事件捕获就是从根元素到目标元素(DOM浏览器支持) 2.事件处 ...

  4. Android 查看webview里面的图片

    今天介绍一下怎么查看WebView里面的图片,首先要设置WebView能够支持JavaScript,然后实现JavaScript的监听接口: mWebView.getSettings().setJav ...

  5. SharePoint 2013 开发——工作流架构

    博客地址:http://blog.csdn.net/FoxDave SharePoint 2013的工作流较之前有了不同,第一次真正地作为独立的服务的概念推出了.这意味着SharePoint工作流不再 ...

  6. java基础-002

    1.Java虚拟机和“平台无关语言” Java虚拟机是可以执行字节码的虚拟机进程.Java源文件被编译成被Java虚拟机执行的字节码文件. Java被设计成允许应用程序运行在任意的平台,而不需要程序员 ...

  7. DP重新学

    白书上的DP讲义:一 二 DAG上的dp 不要好高骛远去学这种高端东西,学了也写不对,剩下的几天把基本的dp和搜索搞下,就圆满了.不要再学新算法了,去九度把现有的算法写个痛. 学了数位DP和记忆搜索, ...

  8. JAVA的第一个程序

    关于下载安装环境变量的配置网上的教程已经很多了 . 下面附上第一个HelloWorld的代码 /** 这是我的第一个java程序 */ public class HelloWorld { public ...

  9. ADO.NET系列之操作XML

    如题,我们保存数据的方式有很多种.在ASP.NET中,可以通过js赋值隐藏域的方式,也可以通过ViewState,Session这样的内置对象,还可以通过数据库的形式.现在经常用到的就是XML了,它的 ...

  10. Android布局大全

    Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面. 所有的布局方式都可以归类为ViewGroup的 ...