关于Ubuntu kinect2 no device connect 的解决办法

首先安装驱动libfreenect2
1、下载源码

git clone https://github.com/OpenKinect/libfreenect2.git

2、安装依赖

sudo apt-get install build-essential cmake pkg-config libturbojpeg libjpeg-turbo8-dev mesa-common-dev freeglut3-dev libxrandr-dev libxi-dev
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install libglfw3-dev

3、Cmake编译并安装

cd libfreenect2
mkdir build
cd build
cmake ..
make

4、将libfreenect2/build/lib中的libfreenect2-openni2.so 和 libfreenect2-openni2.so.0复制到/usr/lib/OpenNI2/Drivers(我的openni2的安装目录)文件夹中,一般是在这个路径下

sudo cp libfreenect2/build/lib/libfreenect2-openni2.so /usr/lib/OpenNI2/Drivers/
sudo cp libfreenect2/build/lib/libfreenect2-openni2.so.0 /usr/lib/OpenNI2/Drivers/

调用kinect2的代码在我的博客中有,如下:Kinect2使用

关于libfreenect2必须sudo ./Protonect运行的解决办法:
usb权限问题

创建一个udev rule file解决
cd /etc/udev/rules.d
sudo gedit 90-kinect2.rules

添加如下信息:

SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02c4", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02d8", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02d9", MODE="0666"

通过此命令来确认USB设备的信息

dmesg | grep "045e"
重新插拔设备即可

版权声明:本文为lq1021149357原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。