ubuntu indigo skeleton tracker(骨骼跟踪)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/youngpan1101/article/details/71118170

本系列文章由 youngpan1101 出品,转载请注明出处。
文章链接:http://blog.csdn.net/youngpan1101/article/details/71118170
作者:宋洋鹏(youngpan1101)
邮箱: [email protected]


简介

  • 运行平台:ubuntu 14.04 64 bit PC
  • ROS 版本: indigo
  • 深度相机: ASUS xtion pro camera
  • 下面安装过程需要用到的文件:【百度云下载

安装

  • OpenNI2ref_1

    $ sudo apt-get install g++ python libusb-1.0-0-dev libudev-dev openjdk-6-jdk freeglut3-dev doxygen graphviz
    $ git clone https://github.com/occipital/OpenNI2.git
    $ cd [dir-to-OpenNI2]
    $ make
    $ cd [dir-to-OpenNI2]/Bin/x64-Release
    $ sudo ./NiViewer   (没有sudo会导致找不到USB driver)

    01_skeleton_tracker_ASUS_Xtion_Pro_NiViewer_watermark

  • Nite2Download

    $ tar -xjvf NiTE-Linux-x64-2.2.tar.bz2
    $ cd NiTE-Linux-x64-2.2
    $ sudo ./install.sh
  • skeleton_trackerref_1

    • 下载包并解压
      $ cd [dir-to-catkin_ws/src]
      $ git clone https://github.com/Chaos84/skeleton_tracker.git
      $ cd [dir-to-skeleton_tracker]
      $ unzip skeleton_tracker
  • 需要进行以下文件的修改(后面带 “# modified” 是表示修改过后的):

    • CMakeList.txt

      cmake_minimum_required(VERSION 2.8.3)
      project(skeleton_tracker)
      
      find_package(catkin REQUIRED COMPONENTS
        cv_bridge
        geometry_msgs
        image_transport
        kdl_conversions
        openni2_camera
        pcl_conversions
        pcl_ros
        roscpp
        roslib
        tf
        message_generation
      )
      
      find_package(OpenCV 3.2 REQUIRED)   # modified
      
      include_directories(
        include
        ${catkin_INCLUDE_DIRS}
      )
      
      add_message_files(
        FILES
        user_IDs.msg
      )
      
      generate_messages(
        DEPENDENCIES geometry_msgs
      )
      
      catkin_package(
        INCLUDE_DIRS include
        LIBRARIES skeleton_tracker
        CATKIN_DEPENDS cv_bridge geometry_msgs image_transport kdl_conversions openni2_camera pcl_conversions pcl_ros roscpp roslib tf message_runtime
        DEPENDS system_lib opencv
      )
      
      set(OPENNI2_DIR ~/3rdParty/OpenNI2-master)  # modified
      set(OPENNI2_WRAPPER /opt/ros/indigo/include/openni2_camera/)
      set(NITE2_DIR ~/3rdParty/NiTE-Linux-x64-2.2)   # modified
      set(NITE2_LIB ~/3rdParty/NiTE-Linux-x64-2.2/Redist/libNiTE2.so)   # modified
      
      link_directories(${OPENNI2_DIR}/Bin/x64-Release)
      
      include_directories(${OPENNI2_DIR}/Bin/x64-Release)
      include_directories(/usr/include/openni2/)
      include_directories(${OPENNI2_DIR}/Include)
      include_directories(${OPENNI2_WRAPPER})
      include_directories(${NITE2_DIR}/Include)
      include_directories(${OpenCV_INCLUDE_DIRS}/include)
      
      include_directories(/usr/include/pcl-1.7/pcl/io) # modified skeleton_tracker_node.cpp 中"openni_camera/openni_depth_image.h" 和 "openni_camera/openni_exception.h" 头文件引用需要
      
      add_executable(xtion_tracker src/xtion_tracker_node.cpp)
      target_link_libraries(xtion_tracker OpenNI2 ${NITE2_LIB} ${OpenCV_LIBRARIES} ${catkin_LIBRARIES})
      
      add_executable(skeleton_tracker src/skeleton_tracker_node.cpp)
      target_link_libraries(skeleton_tracker OpenNI2 ${NITE2_LIB} ${OpenCV_LIBRARIES} ${catkin_LIBRARIES})
    • src/skeleton_tracker_node.cpp

      Line 64 : #include <openni_camera/OpenNIConfig.h>
         改成   #include <openni2_camera/OpenNI2Config.h>   
    • setup_nite.bash (按自己的具体路径进行修改)

      Line 2 : ln -s ~/dev/NiTE-Linux-x64-2.2/Samples/Bin/NiTE2 ~/.ros/NiTE2
         改成   ln -s ~/3rdParty/NiTE-Linux-x64-2.2/Samples/Bin/NiTE2 ~/.ros/NiTE2   
  • 编译 package

    $ cd [our_catkin_workspace]
    $ catkin_make  --pkg skeleton_tracker
  • 运行程序

    扫描二维码关注公众号,回复: 3807970 查看本文章
    $ cd [dir-to-skeleton_tracker]
    $ sudo ./setup_nite.bash
    $ roslaunch skeleton_tracker tracker.launch
    $ rviz (打开新的终端,查看 skeleton 各关节)

    视频效果

猜你喜欢

转载自blog.csdn.net/youngpan1101/article/details/71118170
今日推荐