1.安装驱动文件libfreenect
$ git clone https://github.com/OpenKinect/libfreenect2.git
$ cd libfreenect2
$ sudo apt-get install build-essential cmake pkg-config libusb-1.0-0-dev libturbojpeg libjpeg-turbo8-dev
$ sudo apt-get install libglfw3-dev libopenni2-dev
$ mkdir build && cd build
$ cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2 -DENABLE_CXX11=ON
$ make
$ make install
$ sudo cp ../platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/
2.测试
运行测试:./bin/Protonect cpu
3.安装kinect2对应的ROS包
$ mkdir -p catkin_ws/src
$ cd catkin_ws/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”
$ echo “source ~/catkin_ws/devel/setup.sh” >> ~/.bashrc
完成上面配置后测试安装结果:接下来进行测试,打开kinect接口 打开新终端
$ roslaunch kinect2_bridge kinect2_bridge.launch
继续打开新终端
$ rosrun kinect2_viewer kinect2_viewer
4.安装Openni2
$ cd ~/libfreenect2/build
$ sudo apt-add-repository ppa:deb-rob/ros-trusty
$ sudo apt-get update
$ sudo apt-get install libopenni2-dev
$ sudo apt install openni2-utils
$ sudo make install-openni2
测试结果 $ NiViewer2
5.安装Nite与骨骼测试
NiTE2 是目前最先进最强大的3D计算机视觉中间件,拥有精简的主机,最小的CPU负载和多平台支持。该中间件为应用程序提供了一个清晰的用户控制API,包括基于手的和全身控件。 这些算法利用从硬件设备接收到的深度,颜色,IR和音频信息,使其能够执行手部定位和跟踪,场景分析器(将用户与背景分离),准确的用户骨架关节跟踪以及各种手势识别等等。 NiTE2 有另种下载方式,一是在 官网 | OpenNI, 或者 开发者提供 (NITE_SDK), 根据需要下载对应的版本,注意版本并不是越高越好。 关于 NiTE2 的开发,大神码农提供了相关讲解及一些开发教程,附上传送门 (1) 码农-叶梅树, (2) Make Change
下载NiTE-Linux-x64-2.2放在工作空间中,地址:http://cvrlcode.ics.forth.gr/web_share/OpenNI/NITE_SDK/
下载完成之后解压到工作空间下的src文件夹夹下如下:
然后进行安装
$ cd ~/catkin_ws/src
$ cd NiTE-Linux-x64-2.2
$ chmod 777 ./*
$ sudo sh install.sh
$ cat NiTEDevEnvironment >> ~/.bashrc
这个时候打开.bashrc,应该可以看到如下两行:
3)修改OpenNI.ini文件 添加Repository=/usr/lib/OpenNI2/Drivers到该文件最下方,
$ cd Samples/Bin
$ gedit OpenNI.ini
如下:
4)测试
执行如下命令,测试是否安装成功,若安装成功,应该可以检测出人的骨骼(需在有效范围内)
$ ./UserViewer
6.安装骨骼检测的ROS功能包kinect2_tracker
$ cd catkin_ws/src/
$ git clone https://github.com/mcgi5sr2/kinect2_tracker.git
$ ln -s ~/catkin_ws/src/NiTE-Linux-x64-2.2/Samples/Bin/NiTE2/ ~/.ros/NiTE2
$ cd ~/catkin_ws/src/kinect2_tracker
$ source setup_nite.bash
$ gedit CmakeLists.txt
修改CMakeList.txt文件:
找到set(NITE2_DIR )和set(NITE2_LIB )两行,改为:
修改如下:
set(NITE2_DIR ~/catkin_ws/src/NiTE-Linux-x64-2.2/)
set(NITE2_LIB ~/catkin_ws/src/NiTE-Linux-x64-2.2/Redist/libNiTE2.so)
编译
$ cd ~/catkin_ws/
$ catkin_make
测试效果:
第一个终端
$ roslaunch kinect2_tracker tracker.launch
第二个终端
$ rosrun rviz rviz
结果如下:
7.openni2_tracker安装
$ sudo git clone https://github.com/ros-drivers/openni2_tracker.git
$ cd openni2_tracker
cmakelist修改如下:$ gedit CMakeLists.txt
译:
$ cd ~/catkin_ws/
$ catkin_make –pkg openni2_tracker
进行测试,首先启动相机的ROS驱动文件
$ roslaunch kinect2_bridge kinect2_bridge.launch
然后切换到NiTE-Linux-x86-2.2中Redist目录下,
$ cd ~/catkin_ws/src/NiTE-Linux-x86-2.2/Redist
运行节点
$ rosrun openni2_tracker openni2_tracker
到这里夹完成安装配置了。后续会出如何使用这些数据来写代码。
评论列表(1条)
博主好,我在TX2,Ubuntu16.04上面按照教程步骤装Kinect2驱动时, 在进行到make步骤时 报错
/usr/bin/ld: cannot find -lva-drm
collect2: error:ld returned 1 exit status
CMakeFiles/freenect2.dir/build.make:1103: recipe for target ‘lib/libfreenect2.so.0.2.0’ failed
make[2]: *** [lib/libfreenect2.so.0.2.0] Error 1
CMakeFiles/Makefile2:136: recipe for target ‘CMakeFiles/freenect2.dir/all’ failed
make[1]: *** [CMakeFiles/freenect2.dir/all] Error 2
Makefile:127: recipe for target ‘all’ failed
make: *** [all] Eeeor 2
请问大佬有人遇到过吗,能指导一下吗。