ROS 环境下 Kinect V2 开发(5) —— ROS下获取骨骼数据

平台环境

  1. Ubuntu14.04 32位
  2. ROS indigo
  3. 处理器:Inter(R) Celeron(R) CPU N3160 @ 1.60GHz x 4
  4. libfreenect2 驱动
  5. iai_kinect2 接口
  6. OpenNI2 接口
  7. Nite2 控件

说明

  • 该功能包是在 openni_tracker 的基础上做的修改,里面用来显示图像的部分都被注释掉了,所以运行节点之后只在控制台输出检测跟踪信息。

  • 获取骨骼数据是 Kinect V2 在 ROS 环境下开发的关键,接下来,就是对获取到的骨骼数据进行处理。

  • 可以借助 OpenCV 来做相关开发,可参考 谈谈OpenNI 2与OpenCV结合的第一个程序 以及 NITE 2与OpenCV结合的第一个程序

  • GitHub: https://github.com/ros-drivers/openni2_tracker

基本骨骼信息获取

  1. 下载 openni2_tracker

    $ cd newspace/src
    $ sudo git clone https://github.com/ros-drivers/openni2_tracker.git 
    
  2. 配置 CMake

    $ cd openni2_tracker
    $ vi CMakeLists.txt
    

    此时, 对于 Nite2 的配置信息如下:

    # Find Nite2
    message(status $ENV{NITE2_INCLUDE})
    message(status $ENV{NITE2_REDIST64})
    find_path(Nite2_INCLUDEDIR
            NAMES NiTE.h
            HINTS $ENV{NITE2_INCLUDE})
    find_library(Nite2_LIBRARY
            NAMES NiTE2
            HINTS $ENV{NITE2_REDIST64}
            PATH_SUFFIXES lib) 
    

    然后修改配置 NiTE2 之后的头文件和依赖项。

    如果是 64 位系统,则修改如下:

    # Find Nite2
    message(status $ENV{NITE2_INCLUDE})
    message(status $ENV{NITE2_REDIST64})
    find_path(Nite2_INCLUDEDIR
            NAMES NiTE.h
            HINTS /home/aicrobo/newspace/src/NiTE-Linux-x64-2.2/Include)
    find_library(Nite2_LIBRARY
            NAMES NiTE2
            HINTS /home/aicrobo/newspace/src/NiTE-Linux-x64-2.2/Redist
            PATH_SUFFIXES lib) 
    

    如果是 32 为系统,则修改如下:

    # Find Nite2
    message(status $ENV{NITE2_INCLUDE})
    message(status $ENV{NITE2_REDIST})
    find_path(Nite2_INCLUDEDIR
            NAMES NiTE.h
            HINTS /home/aicrobo/newspace/src/NiTE-Linux-x86-2.2/Include)
    find_library(Nite2_LIBRARY
            NAMES NiTE2
            HINTS /home/aicrobo/newspace/src/NiTE-Linux-x86-2.2/Redist
            PATH_SUFFIXES lib) 
    
  3. 编译运行

    $ cd ~/newspace
    $ catkin_make --pkg openni2_tracker
    

    若编译通过,则会生成 openni2_tracker 节点

    然后切换到 /home/aicrobo/newspace/src/NiTE-Linux-x86-2.2/Redist 路径下,运行节点

    $ rosrun openni2_tracker openni2_tracker
    

    若一切顺利,则可以获取到骨骼信息(不会显示画面)。

你可能感兴趣的:(Kinect,V2,ROS)