Ubuntu16.04 ROS安装kinect2并获取骨骼数据+配置kinect2_tracker

时间:2024-05-21 12:50:03

1.安装驱动文件libfreenect

$ git clonehttps://github.com/OpenKinect/libfreenect2.git

$ cd libfreenect2

$ sudo apt-get install build-essential cmakepkg-config libusb-1.0-0-dev libturbojpeg libjpeg-turbo8-dev

$ sudo apt-get install libglfw3-devlibopenni2-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

Ubuntu16.04 ROS安装kinect2并获取骨骼数据+配置kinect2_tracker

 

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

Ubuntu16.04 ROS安装kinect2并获取骨骼数据+配置kinect2_tracker

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

Ubuntu16.04 ROS安装kinect2并获取骨骼数据+配置kinect2_tracker

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文件夹夹下如下:

Ubuntu16.04 ROS安装kinect2并获取骨骼数据+配置kinect2_tracker

然后进行安装

$ cd ~/catkin_ws/src

$ cd NiTE-Linux-x86-2.2

$ chmod 777 ./*

$ sudo sh install.sh

$ cat NiTEDevEnvironment >> ~/.bashrc

这个时候打开.bashrc,应该可以看到如下两行:

Ubuntu16.04 ROS安装kinect2并获取骨骼数据+配置kinect2_tracker

3)修改OpenNI.ini文件 添加Repository=/usr/lib/OpenNI2/Drivers到该文件最下方,

$ cd Samples/Bin

$ gedit OpenNI.ini

如下:

Ubuntu16.04 ROS安装kinect2并获取骨骼数据+配置kinect2_tracker

4)测试
执行如下命令,测试是否安装成功,若安装成功,应该可以检测出人的骨骼(需在有效范围内)

$ ./UserViewer

Ubuntu16.04 ROS安装kinect2并获取骨骼数据+配置kinect2_tracker

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)

Ubuntu16.04 ROS安装kinect2并获取骨骼数据+配置kinect2_tracker

编译

$ cd ~/catkin_ws/

$ catkin_make

测试效果:

第一个终端

$ roslaunch kinect2_tracker tracker.launch

第二个终端

$ rosrun rviz rviz

结果如下:

Ubuntu16.04 ROS安装kinect2并获取骨骼数据+配置kinect2_tracker

 到这里夹完成安装配置了。后续会出如何使用这些数据来写代码。