亲测好用平台:ROS Indigo、Ubuntu14.04、Kinect V2
(v1装过亦可,这可是小编遇到各种bug,各种查资料,解决bug后,呕心沥血总结的)
安装必备:
①libfreenect2(https://github.com/OpenKinect/libfreenect2)
②ROS环境里使用Kinect2, 依靠iai-kinect2这个包( https://github.com/code-iai/iai_kinect2)
一、安装libfreenect2
1.首先git下载代码
git clone https://github.com/OpenKinect/libfreenect2.git
2.安装依赖项如下,最好事先编译安装好OpenCV(版本2.x,不可为3.0)
sudo apt-get install build-essential cmake pkg-config libturbojpeg libjpeg-turbo8-dev mesa-common-dev freeglut3-dev libxrandr-dev libxi-dev
3.然后安装libusb,此处需要添加一个PPA
sudo apt-add-repository ppa:floe/libusb
sudo apt-get update
sudo apt-get install libusb-1.0-0-dev
4.安装GLFW3
cd libfreenect2/depends
sh install_ubuntu.sh
sudo dpkg -i libglfw3*_3.0.4-1_*.deb
5.安装OpenCL的支持库
(1)Intel GPU
sudo apt-add-repository ppa:floe/beignet
sudo apt-get update
sudo apt-get install beignet-dev
sudo dpkg -i debs/ocl-icd*deb
(2)AMD GPU
apt-get install opencl-headers
6.编译库
cd ..
mkdir build && cd build
cmake .. (此处可指定安装的位置)
make
sudo make install
二、测试
如果上述安装一切正常,下面我们来测试一下:
在build下面有个bin文件夹,放置生成的输出文件,插上kinectV2,然后运行下面的指令。此时黄灯变成白色的,表示有驱动。注意:只能用于USB3的接口。
./bin/Protonect gl
./bin/Protonect cl
./bin/Protonect cpu
如果提示权限不够(failed to open Kinect V2 Access denied)
此时需要把libfreenect2文件夹下面的一个90开头的.rule文件复制到/etc/udev/rules.d/下面就可以了。
(或者直接执行sudo cp ../platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/)
然后重新运行上面的命令就可以了。
如果一切正常,恭喜你,驱动已经安装好了。
如果我们要在ROS下使用KinectV2,需要借助iai_kinect2包
三、安装iai-kinect2
cd ~/catkin_ws/src/
git clone https://github.com/code-iai/iai_kinect2.git
cd iai_kinect2
rosdep install -r --from-paths . (此处如果出现无法locate相应的位置的错误,可以忽略)
cd ~/catkin_ws
catkin_make -DCMAKE_BUILD_TYPE="Release"
rospack profile
针对倒数第二行的catkin_make指令, 如果前面libfreenect2你安装的位置不是标准的两个路径下, 需要提供参数指定libfreenect2所在路径:
catkin_make -Dfreenect2_DIR=path_to_freenect2/lib/cmake/freenect2 -DCMAKE_BUILD_TYPE="Release"
如果此时,你仍旧编译木有错误,出现了编译100%的标志,证明你安装成功。
下面测试一下:
roslaunch kinect2_bridge kinect2_bridge.launch
重新打开一个终端:
rosrun kinect2_viewer kinect2_viewer
如果呈现在你眼前的是一个美妙的世界,恭喜你,一切OK,可以安心使用Kinect2开发你的程序了(小编在此不方便截图,就不截了,有问题欢迎评论)。
小编多说两句:如果你之前安装过kinect1,现在安装kinectV2出现了问题,推荐一篇文章,希望可以解决你的问题:
http://www.360doc.com/content/16/0113/20/9200790_527684302.shtml