我是靠谱客的博主 沉静荔枝,最近开发中收集的这篇文章主要介绍ubuntu+ROS+kinect进行骨架跟踪,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

运行环境:ubuntu版本 12.04 ROS版本:hydro

首先的首先,你得安装ROS,(那还用说。。)其安装方法及教程在这里。这是中文版的,不难。如果你还没有学ROS,但是想快速地安装上这一套,那么你先只看1.安装并配置ROS环境.

为什么我要用hydro?现在(特指我写这个的时候,2014年9月)已经出了更新的Indigo和Jade,其版本发布可以看这个网址,其实我有轻微强迫症,就是一定要装最新的版本的东西,但是因为openni_tracker对新版本支持并不好,所以只能用这个了,相应的,hydro最高支持ubuntu12.04,所以我就用12.04的ubuntu+hydro版本的ROS。

需要安装的包:openni_launch openni_camera openin_tracker rviz
执行下面三个命令就可以安装上这三个包:

sudo apt-get install ros-<ros_distro>-rviz
sudo apt-get install ros-<ros_distro>-openni-camera
sudo apt-get install ros-<ros_distro>-openni-launch
sudo apt-get install ros-<ros_distro>-openni-tracker
要把其中的 <ros_distro> 改成你安装的ros版本,比如我的是hydro,那么就是
sudo apt-get install ros-hydro-openni-camera

按照http://wiki.ros.org/openni_tracker上所说的,运行

rosrun openni_tracker openni_tracker

就可以了,但是如果这么简单,我还会写这个笔记(或教程?)么?

1、遇到bug:
(本想在命令行前面加上$以为提醒,但是在markdown下,两个美元符之间就是公式,会很丑)
运行:

source /opt/ros/hydro/setup.bash

注意:如果不执行这一条命令,ros下的操作都不可以执行。建议把它加到 ~/.bashrc末尾(如何填加请自己百度),这样每次登陆这个账户(ubuntu下必须要登陆账户的啊)的时候,都会替你执行这一条命令。 但是如果你没有加到~/.bashrc中, 那么每次打开终端时都要执行一遍这个命令,嗯。

然后,打开三个终端,分别执行下面每一条命令(请注意上面说的注意):

roscore
rosrun openni_launch openni_launch
rosrun openni_tracker openni_tracker

当执行第三条命令时出现这样的错误,

 [ERROR] Find user generator failed: This operation is invalid! 

出现这种问题的原因是Openni版本为1.5.4,(我当时的版本),但是有关于跟踪部分的库版本太低了,这是openni_tracker的bug,按照上面的方面安装个高版本的就OK了。(原因不是我发现的,解决方法当然也不是,google一下可以找到)

找到找到如下解决方法:

Thanks for the pointer to ROS Answers. Yes, that worked for me and here is my summary of how I implemented the fix:
Download the NiTE v1.5.2.23 binary package from one of the following links depending on whether you are using a 32-bit or 64-bit installation of Ubuntu:
a. 32-bit: http://www.openni.org/wp-content/uploads/2013/10/NITE-Bin-Linux-x86-v1.5.2.23.tar.zip
b. 64-bit: http://www.openni.org/wp-content/uploads/2013/10/NITE-Bin-Linux-x64-v1.5.2.23.tar.zip
Unzip and extract the archive to a location of your choice (e.g. ~/tmp)
The unzipped archive is actually another archive in bz2 format so unzip and extract the archive to the same location as in Step 2.
The resulting folder should be called NITE-Bin-Dev-Linux-x64-v1.5.2.23 (64-bit) or NITE-Bin-Linux-x86-v1.5.2.23 (32-bit)/ Move into this folder and then run the uninstall.sh script followed by the install.sh scripts. For the 64-bit version this would look like the following:
cd ~/tmp/NITE-Bin-Dev-Linux-x64-v1.5.2.23
sudo ./uninstall.sh
sudo ./install.sh

意思就是说,要下载NiTE v1.5.2.23包,32位的在这里下,64位的在这里下,下载下来的是.zip文件,解压后出来.tar.zip文件,还要再解压,就看到NITE-Bin-Dev-Linux-x64-v1.5.2.23文件夹了。把这个文件夹放到 ~/tmp下,执行以下三个命令:

cd ~/tmp/NITE-Bin-Dev-Linux-x64-v1.5.2.23
sudo ./uninstall.sh
sudo ./install.sh

2、完整的过程
打开四个终端,分别执行:

roslaunch openni_launch openni.launch camera:=openni
rosrun openni_tracker openni_tracker
rosrun rviz rviz

然后,在Rviz中,把Global Options > Fixed Frame 改成openni_depth_optical_frame.

再然后,”Add”(左下角),选择PointCloud2。
把 PointCloud2 >Topic改成/openni/depth_registered/points。

再再然后,点击”Add”,选择TF(在列表的最下面)。

站在kinect前面,摆出“投降”姿势(如下),稍等一会,跟踪到的各个节点就出来了。
psi pose
参考:
http://wiki.ros.org/openni_tracker
http://wiki.ros.org/openni_camera
http://wiki.ros.org/openni_launch
http://answers.ros.org/question/37615/openni_tracker-find-user-generator-failed/&usg=ALkJrhiah5ABnuzl3DzbsDWLLwEj4cMoIw
http://answers.ros.org/question/37615/openni_tracker-find-user-generator-failed/&usg=ALkJrhiah5ABnuzl3DzbsDWLLwEj4cMoIw
http://www.openni.ru/openni-sdk/openni-sdk-history-2/&usg=ALkJrhjiYDwULBASzi4rNHGwA8JWhU7gJg

全文完。

欢迎转载,转载请附上原文链接。

最后

以上就是沉静荔枝为你收集整理的ubuntu+ROS+kinect进行骨架跟踪的全部内容,希望文章能够帮你解决ubuntu+ROS+kinect进行骨架跟踪所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(76)

评论列表共有 0 条评论

立即
投稿
返回
顶部