ROS 环境下 Kinect V2 开发(1)—— libfreenect2驱动安装

news/2025/3/15 4:01:26/

说明

  • Kinect v2 只支持 USB3.0 接口, 在使用之前先确认一下。

  • OpenCV 的安装版本最好是选择 OpenCV 2.4.X。

  • 在安装过程中要严格按照教程操作,确保每一步都是正确,否则后面的操作会有很多错误;如果在安装过程中出现问题,可以查看 github issues (including closed ones) 的讨论区,也许能有相同的问题。

  • 该项目是针对 Kinect V2 开发时相关驱动的安装, libfreenect2是一个针对kinect v2的非官方驱动,它是开源的,当我们在官方驱动不能满足需求的时候可以考虑使用它,当然它集成的算法及功能是没有官方驱动丰富的。

  • libfreenect2驱动下载地址:GitHub libfreenect2

  • 测试环境:

    1. Ubuntu14.04 32位
    2. ROS indigo
    3. 处理器:Inter(R) Celeron(R) CPU N3160 @ 1.60GHz x 4

驱动安装步骤

  1. 安装OpenCV (默认已经安装)

  2. 安装其它依赖项

    $ sudo apt-get install build-essential cmake pkg-config libturbojpeg libjpeg-turbo8-dev mesa-common-dev freeglut3-dev libxrandr-dev libxi-dev
    
  3. 下载 libfreenect2 驱动

    $ cd ~
    $ git clone https://github.com/OpenKinect/libfreenect2.git
    $ cd libfreenect2
    

    (也可以根据自己的需要下载到指定目录)

  4. 下载升级 deb 文件

    $ cd depends
    $ ./download_debs_trusty.sh
    
  5. 安装 libusb

    $ sudo dpkg -i debs/libusb*deb
    
  6. 安装 TurboJPEG

    $ sudo apt-get install libturbojpeg libjpeg-turbo8-dev
    
  7. 安装 GLFW3

    $ sudo apt-get install libglfw3-dev
    

    如果以上面的方式安装失败,则使用下述方法:

    $ cd libfreenect2/depends  
    $ sh install_ubuntu.sh  
    $ sudo dpkg -i libglfw3*_3.0.4-1_*.deb  
    

    若还是安装失败,换下面的指令:

    $ sh install_glfw.sh
    $ sudo dpkg -i libglfw3*_3.0.4-1_*.deb
    

    注意:若是执行 .sh 文件出现 “Permission denied” 的提示,则需要改变权限 chmod 777 install_*.sh

  8. 安装OpenGL的支持库(若没有GPU可以省略)

    $ sudo dpkg -i debs/libglfw3*deb
    $ sudo apt-get install -f
    $ sudo apt-get install libgl1-mesa-dri-lts-vivid
    

    若最后一条指令失败,可以直接忽略;

  9. 安装OpenCL的支持库—GPU加速(可选)

    • OpenCL with AMD:

      在下面的网站安装最新版的 AMD Catalyst drivers ,并按照说明进行操作,同时安装依赖项opencl-headers

      $ sudo apt-get install opencl-headers
      
    • OpenCL/CUDA with Nvidia:

      在官方网站developer.nvidia.com/cuda-downloads下载安装相关驱动,选择linux, x86_64, Ubuntu, 14.04, deb(network). 同时安装 nvidia-modprobeopencl-headers.

      $ sudo apt-get install nvidia-modprobe opencl-headers
      

      然后需要添加 CUDA 安装路径到系统环境变量,也就是添加下面指令到 ~/.bashrc 文件

      $ export LD_LIBRARY_PATH="/usr/local/cuda/lib64:${LD_LIBRARY_PATH}"
      $ export PATH="/usr/local/cuda/bin:${PATH}"
      

      同时,配置 lib 库:

      $ echo "/usr/local/cuda/lib64" | sudo tee /etc/ld.so.conf.d/cuda.conf sudo ldconfig
      
    • OpenCL with Intel:

      $ sudo add-apt-repository ppa:floe/beignet 
      $ sudo apt-get update 
      $ sudo apt-get install beignet beignet-dev opencl-headers
      

      若在执行 update 命令是失败,可参考该 博客 进行换源。

  10. 编译 libfreenect2

    $ cd ~/libfreenect2
    $ mkdir build && cd build
    $ cmake .. -DENABLE_CXX11=ON
    $ make
    $ make install
    

    参数代表增加对 C++11 的支持。

    此时是编译安装在了 libfreenect2/build 文件夹下,也可以自己指定安装目录,用下面的指令代替 cmake ..

    $ cmake ..  -DCMAKE_INSTALL_PREFIX=$HOME/freenect2
    
  11. 获取设备权限

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

测试驱动是否安装完成

需要重新插一下Kinect,然后执行下述指令:

$ sudo chmod +x ./bin/Protonect  
$ ./bin/Protonect cpu
$ ./bin/Protonect gl
$ ./bin/Protonect cl

如果都运行成功,则表示驱动安装完成,此时显示界面如图:
Viewer


http://www.ppmy.cn/news/426139.html

相关文章

关于J1900、N3150主机安装EXSI不成功及找不到SATA硬盘等问题的解决

一.安装不了问题。 具体提示是用EXSI安装ISO启动后会遇到卡在Relocating modules and starting up the kernel过不去,此问题的处理很简单。感谢爱快论坛的朋友cjljsyy 提出解决方法 1、把你要安装ESXI的硬盘接到一台能正常安装ESXI的机器里,按照正常程序…

ROS 环境下 Kinect V2 开发(4) —— NiTE2 的配置

平台环境 Ubuntu14.04 32位ROS indigo处理器:Inter(R) Celeron(R) CPU N3160 1.60GHz x 4libfreenect2 驱动iai_kinect2 接口OpenNI2 接口 说明 NiTE2 是目前最先进最强大的3D计算机视觉中间件,拥有精简的主机,最小的CPU负载和多平台支持…

ROS 环境下 Kinect V2 开发(2) —— iai_kinect2安装

说明 该安装包提供了 Kinect V2 的 ROS 接口,在进行该操作之前,必须得确保安装配置的 libfreenect2 驱动程序没有问题。关于 ROS 中出现的问题,可在 ROS维基 查看。测试环境: Ubuntu14.04 32位ROS indigo处理器:Inter…

Mint19操作系统安装GRUB2失败的解决方法

Mint19操作系统安装GRUB2失败的解决方法 部分内容、方法摘抄自网上,然后自己实践成功,特此分享给有同样烦恼的同学们。 电脑硬件:梅捷Thin Mini N3160集成J3160四核CPU迷你电脑,固态硬盘安装的操作系统:linuxmint-19…

NiTE2 的配置

转:https://blog.csdn.net/u012319441/article/details/80307329 平台环境 Ubuntu14.04 32位 ROS indigo 处理器:Inter(R) Celeron(R) CPU N3160 1.60GHz x 4 libfreenect2 驱动 iai_kinect2 接口 OpenNI2 接口 说明 NiTE2 是目前…

何不动手搭建一个家庭服务器?记录期间的遇到的各种坑

大学生活永远是最忙的,也永远是最清闲的,每天总想着折腾这,折腾那。 家里的宽带用的是电信套餐,100M下行/20M上行,给公网IP。 比起腾讯云,阿里云10块钱一个月的学生机,才1M宽带小水管&#xf…

我作为过来人分享程序员职业介绍

程序员是一种涉及使用计算机语言和编程工具创建、调试、维护和优化软件程序和应用程序的职业。主要包括编写代码、软件设计、调试测试、代码评审和文档编写。 编写代码:程序员使用各种编程语言 (如Java、Python、 JavaScript、C等) 编写源代码,以实现软…

Java 三目运算符

Java是一种广泛使用的编程语言,具有强大的功能和丰富的语法结构,其中三目运算符是Java语言中的一个重要概念。在本篇博客中,我们将深入探讨Java中的三目运算符,包括其语法、用法和示例。 一、什么是三目运算符? Java…