版权声明:本文为博主原创文章,未经博主允许不得转载。 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
- 下面安装过程需要用到的文件:【百度云下载】
安装
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)
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) # 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 各关节)
【视频效果】