ubuntu indigo skeleton tracker(骨骼跟踪)

来源:互联网 发布:scala二维数组 编辑:程序博客网 时间:2024/05/21 17:19

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


简介

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

安装

  • OpenNI2 【ref_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

  • Nite2 【Download】

    $ tar -xjvf NiTE-Linux-x64-2.2.tar.bz2$ cd NiTE-Linux-x64-2.2$ sudo ./install.sh
  • skeleton_tracker 【ref_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)   # modifiedinclude_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)  # modifiedset(OPENNI2_WRAPPER /opt/ros/indigo/include/openni2_camera/)set(NITE2_DIR ~/3rdParty/NiTE-Linux-x64-2.2)   # modifiedset(NITE2_LIB ~/3rdParty/NiTE-Linux-x64-2.2/Redist/libNiTE2.so)   # modifiedlink_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
  • 运行程序

    $ cd [dir-to-skeleton_tracker]$ sudo ./setup_nite.bash$ roslaunch skeleton_tracker tracker.launch$ rviz (打开新的终端,查看 skeleton 各关节)

    【视频效果】

0 0
原创粉丝点击