Ubuntu16.04/ROS安装kinect2并获取骨骼数据

1.安装驱动文件libfreenect

首先可以在目录中新建一个文件夹kinect2(非工作空间)。

mkdir -p kinect2

然后,将libfreenect安装到该文件夹里,执行如下代码,完成安装:

cd kinect2

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

cd ..

mkdir build && cd build

cmake .. -DENABLE_CXX11=ON

make

make install

获取设备权限:

sudo cp ../platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/

2.测试

./bin/Protonect cpu
./bin/Protonect gl
./bin/Protonect cl

Ubuntu16.04/ROS安装kinect2并获取骨骼数据_第1张图片

3.安装kinect2对应的ROS包

cd ~/nx_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"

设置环境变量:

source devel/setup.bash

接下来进行测试,打开kinect接口:

roslaunch kinect2_bridge kinect2_bridge.launch

新建一个终端,显示运行图像

rosrun kinect2_viewer kinect2_viewer

Ubuntu16.04/ROS安装kinect2并获取骨骼数据_第2张图片

4.安装Openni2

$ sudo apt-add-repository ppa:deb-rob/ros-trusty 
$ sudo apt-get update
$ sudo apt-get install libopenni2-dev

cmake … -Dfreenect2_DIR=$HOME/freenect2/lib/cmake/freenect2
我的路径是安装在了usr/local中,所以路径为/usr/local/lib/cmake/freenect2
执行如下测试:

$ NiViewer2

Ubuntu16.04/ROS安装kinect2并获取骨骼数据_第3张图片

5.安装Nite与骨骼测试

NiTE2 是目前最先进最强大的3D计算机视觉中间件,拥有精简的主机,最小的CPU负载和多平台支持。该中间件为应用程序提供了一个清晰的用户控制API,包括基于手的和全身控件。 这些算法利用从硬件设备接收到的深度,颜色,IR和音频信息,使其能够执行手部定位和跟踪,场景分析器(将用户与背景分离),准确的用户骨架关节跟踪以及各种手势识别等等。

NiTE2 有另种下载方式,一是在 官网 | OpenNI, 或者 开发者提供 (NITE_SDK), 根据需要下载对应的版本,注意版本并不是越高越好。

关于 NiTE2 的开发,大神码农提供了相关讲解及一些开发教程,附上传送门 (1) 码农-叶梅树, (2) Make Change

下载NiTE-Linux-x86-2.2放在工作空间中,地址:http://cvrlcode.ics.forth.gr/web_share/OpenNI/NITE_SDK/
然后进行安装

$ cd ~/catkin_ws/src
$ cd NiTE-Linux-x86-2.2
$ chmod 777 install.sh
$ sudo sh install.sh

2)配置环境变量

cat NiTedevEnvironment >> ~/.bashrc

这个时候打开.bashrc,应该可以看到如下两行:
Ubuntu16.04/ROS安装kinect2并获取骨骼数据_第4张图片
3)修改OpenNI.ini文件
添加Repository=/usr/lib/OpenNI2/Drivers到该文件最下方,

$ cd Samples/Bin
$ vi OpenNI.ini

如下:
Ubuntu16.04/ROS安装kinect2并获取骨骼数据_第5张图片
4)测试
执行如下命令,测试是否安装成功,若安装成功,应该可以检测出人的骨骼(需在有效范围内)

./UserViewer

如看到下图所示的场景,表示安装成功:

6.安装骨骼检测的ROS功能包openni_tracker

sudo git clone https://github.com/ros-drivers/openni2_tracker.git 
cd openni2_tracker

修改CMakelist.txt

vi CMakeLists.txt

如下:Ubuntu16.04/ROS安装kinect2并获取骨骼数据_第6张图片
编译:

$ cd ~/nx_ws/
$ catkin_make --pkg openni2_tracker

进行测试,首先启动相机的ROS驱动文件

roslaunch kinect2_bridge kinect2_bridge.launch

然后切换到NiTE-Linux-x86-2.2中Redist目录下,

cd  /home/liam/newspace/src/NiTE-Linux-x86-2.2/Redist 

运行节点

$ rosrun openni2_tracker openni2_tracker

如果没有问题的话,应当看到

你可能感兴趣的:(图像处理,视频处理,计算机视觉,ROS技巧,软件安装及环境配置)