ubuntu16.04下驱动Kinect v2 +ROS下运行
ubuntu16.04下驱动Kinect v2 +ROS下运行
-
安装相关驱动包
-
- 安装libfreenect2
- 安装iai-kinect2
-
运行测试
安装相关驱动包
最近刚搭建好了ROS kinetic版本(详见上一篇博客文章),接下来的工作就是利用ROS平台来控制Kinect v2设备了。经过一番资料查阅和学习尝试后发现,《XXX》这位博主给出了非常详尽的操作指南,在实践过程中严格按照该教程进行操作后一切运转顺利
安装libfreenect2
我主要使用的操作系统是双系统版本(Windows 10 + Ubuntu 16.04)。具体关于安装方法的详细说明,请参考我的博客文章。在安装驱动程序时遇到了一些特殊需求,在此情况下特别提到了一个驱动程序确实需要依赖显卡资源,并因此选择暂时搁置了这个步骤。

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
sudo apt-get install libjpeg-turbo8-dev libglfw3-dev libopenni2-dev
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2
make
make install
第一个参数用于指定安装路径;你可以选择其他位置。
第二个参数允许启用C++11功能;不清楚这个设置对后续运行有何影响吗?
设定udev rules:
sudo cp ../platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/
随后重新插入KineCT2设备。一切就绪后,请启动演示程序Protonect:./bin/Protonect。正常情况下,这将能展示以下效果:

安装iai-kinect2
利用命令行从Github上面下载工程源码到工作空间内src文件夹内:
mkdir catkin_ws
cd catkin_ws
mkdir src
cd 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"
在上述命令的最后一条指令中,在 libfreenect2 安装的位置不在标准的两个路径下时,请特别说明 libfreenect2 的实际安装位置并提供相应参数以完成配置
catkin_make -Dfreenect2_DIR=path_to_freenect2/lib/cmake/freenect2 -DCMAKE_BUILD_TYPE="Release"
编译结束, 一切OK的话, 会看到如下提示:

最后就是激动人心的时刻了, 在ROS中获取Kinect2的数据。
运行测试
开启驱动,建立链接:
roslaunch kinect2_bridge kinect2_bridge.launch

注意: 很多同学在操作过程中经常会出现无法正常执行的情况,请参考下图进行故障排查。

大部分情况是没有source对应的目录。应该先执行
source ~/catkin_ws/devel/setup.bash
在另一个独立的命令行环境中执行以下指令可以获取该节点所发布的Topic
rostopic list

还可以输入
rosrun kinect2_viewer kinect2_viewer sd cloud

来开启一个Viewer查看数据。 结果如下图所示:
如果遇到此提示时,请执行以下操作:首先运行rosrun命令并键入指定参数组合;随后打开Viewer进行检查以排查问题
source ~/catkin_ws/devel/setup.bash
