ubuntu16.04下驱动Kinect v2 +ROS下运行

ubuntu16.04下驱动Kinect v2 +ROS下运行

  • 安装相关驱动包
    • 安装libfreenect2
    • 安装iai-kinect2
  • 运行测试

安装相关驱动包

前几天刚装好ROS kinetic(详见上一篇博客),现在准备在ROS下驱动Kinect v2,找了几篇博客,最后按照下面博主的文章顺利运行成功:https://blog.csdn.net/qq_33835307/article/details/81272377

安装libfreenect2

我个人使用的是双系统(win10+ubuntu16.04),具体安装方法请看我的博客。一开始安装该驱动时要求安装CUDA,可是这个需要GPU啊,明明kinect运行不需要GPU的,所以索性也没管它。
ubuntu16.04下驱动Kinect v2 +ROS下运行_第1张图片

  1. git clone https://github.com/OpenKinect/libfreenect2.git
    
  2. cd libfreenect2
    
  3. sudo apt-get install build-essential cmake pkg-config libusb-1.0-0-dev libturbojpeg 
    
  4. sudo apt-get install libjpeg-turbo8-dev libglfw3-dev libopenni2-dev
    
  5. mkdir build && cd build 
    
  6. cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2
    
  7. make
    
  8. make install
    

针对上面cmake命令的说明, 第一个参数, 是特别指定安装的位置, 你也可以指定别的你觉得高兴的地方, 但一般标准的路径是上述示例路径或者/usr/local。 本人是直接指定的路径,即全部copy然后粘贴,仅仅用cmake …时在后边会报错,应该时路径的问题。第二个参数是增加C++11的支持。(不太懂,没管,后面没出问题)

设定udev rules:

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

然后重新插拔Kinect2.
一切搞定, 现在可以尝试运行Demo程序: ./bin/Protonect, 不出意外, 应该能够看到如下效果:
ubuntu16.04下驱动Kinect v2 +ROS下运行_第2张图片

安装iai-kinect2

利用命令行从Github上面下载工程源码到工作空间内src文件夹内:

  1. mkdir catkin_ws
    
  2. cd catkin_ws
    
  3. mkdir src
    
  4. cd src
    
  5. git clone https://github.com/code-iai/iai_kinect2.git
    
  6. cd iai_kinect2
    
  7. rosdep install -r --from-paths .
    
  8. cd ~/catkin_ws
    
  9. catkin_make -DCMAKE_BUILD_TYPE="Release"
    

针对于上述命令中最后一行指令, 需要说明的是, 如果前面libfreenect2你安装的位置不是标准的两个路径下, 需要提供参数指定libfreenect2所在路径:

catkin_make -Dfreenect2_DIR=path_to_freenect2/lib/cmake/freenect2 -DCMAKE_BUILD_TYPE="Release"  

编译结束, 一切OK的话, 会看到如下提示:

ubuntu16.04下驱动Kinect v2 +ROS下运行_第3张图片最后就是激动人心的时刻了, 在ROS中获取Kinect2的数据。

运行测试

开启驱动,建立链接:

roslaunch kinect2_bridge kinect2_bridge.launch

ubuntu16.04下驱动Kinect v2 +ROS下运行_第4张图片

注意: 很多同学在运行下属命令时,时常会遇到不能执行的问题,如下图所示:
在这里插入图片描述
大部分情况是没有source对应的目录。应该先执行

 source ~/catkin_ws/devel/setup.bash

在另外一个命令行中, 输入以下指令, 可以查看到该节点发布出来的Topic,

 rostopic list

ubuntu16.04下驱动Kinect v2 +ROS下运行_第5张图片还可以输入

rosrun kinect2_viewer kinect2_viewer sd cloud

ubuntu16.04下驱动Kinect v2 +ROS下运行_第6张图片
来开启一个Viewer查看数据。 结果如下图所示:

如果报错说:rosrun kinect2_viewer kinect2_viewer sd cloud
则先输入以下指令,再用viewer查看

 source ~/catkin_ws/devel/setup.bash

你可能感兴趣的:(ubuntu16.04下驱动Kinect v2 +ROS下运行)